摘要:
XSS攻击的防御 XSS 攻击是什么 XSS 又称 CSS,全称 Cross SiteScript,跨站脚本攻击,是 Web 程序中常见的漏洞,XSS 属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有 XSS 漏洞的网站中输入(传入)恶意的 HTML 代码,当其它用户浏览 阅读全文
摘要:
162.寻找峰值 描述 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[ 1] = nums[n] = ∞。 示例 阅读全文
摘要:
二叉堆 1 基于二叉堆的优先队列 在优先级队列中,队列中的项的逻辑顺序由它们的优先级确定。最高优先级项在队列的前面,最低优先级的项在后面。因此,当你将项排入优先级队列时,新项可能会一直移动到前面。 我们只使用一个单一的列表作为二叉堆的内部表示。 二叉堆有两个常见的变体:最小堆(其中最小的键总是在前面 阅读全文
摘要:
35.搜索插入位置 描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 阅读全文
摘要:
74.搜索二维矩阵 描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 示例 1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20] 阅读全文
摘要:
154.寻找旋转排序数组中的最小值 II 描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 注意数组中可能存在重复的元素。 示例 示例 1: 输入: [1,3,5] 输 阅读全文
摘要:
153.寻找旋转排序数组中的最小值 描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例 示例 1: 输入: [3,4,5,1,2] 阅读全文
摘要:
88.合并两个有序数组 描述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n 阅读全文
摘要:
分析树 Python 分析树 如何使用树来解决一些真正的问题? 分析树可以用于表示诸如句子或数学表达式的真实世界构造。 数学表达式的分析树 上图表示诸如 ((7 + 3)*(5-2))数学表达式作为分析树。 构建分析树 构建步骤 第一步是将表达式字符串拆分成符号列表。 有四种不同的符号要考虑:左括号 阅读全文
摘要:
119.杨辉三角 II 描述 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到 O(k) 空间复杂度吗? 思路 不同于上一题, 这里我们仅仅需要得到的第 阅读全文