摘要:
509.斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2), 其中 n > 1 给你 n ,请计算 F(n 阅读全文
摘要:
Hash 存在重复元素 II 题目 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums[i]=nums[j],并且 i 和 j 的差的 绝对值 至多为 k。 示例 1: 输入: nums = [1,2,3,1], k = 3 输出: true 示例 2: 输 阅读全文
摘要:
位运算技巧 x&(-x) 获取二进制位中最后一个1的位置 x&(x-1) 把二进制位中的最低位的1置成0 题目 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 阅读全文
摘要:
什么是位运算 现代计算机中所有的数据都是以二进制的形式存储在计算机中的存储设置中,即0、1两种形态,对计算机的各个操作对应的是二进制数据的各种运算。 运算符 符号 描述 运算规则 & 与,两个位都为1时,结果才为1 1&1=1 1&0=0 0&0=0 | 或,两个位都为0时,结果才为0 1|1=1 阅读全文
摘要:
题目描述 这是 LeetCode 上的 74.搜索二维矩阵, 难度为 【中等】 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入:matrix = [[1,3,5,7 阅读全文
摘要:
枚举的定义 public enum Color { Red,Blue,Green; } 枚举的使用 Color red = Color.Red;//枚举的其中一个类型 Color[] values = Color.values();//获取所有的枚举类型 String name = red.name 阅读全文
摘要:
模板 left,right=1,n while left<=right: mid=left+(right-left)//2 if 条件: right=mid+1 else: left=mid-1 定义左右边界 左边界小于右边届时进入循环体 取中间数,使用left+(right-left)//2是防止 阅读全文
摘要:
模板 left,right=1,n while left<=right: mid=left+(right-left)//2 if 条件: right=mid+1 else: left=mid-1 定义左右边界 左边界小于右边届时进入循环体 取中间数,使用left+(right-left)//2是防止 阅读全文
摘要:
题目描述 这是 LeetCode 上的 剑指 Offer 38. 字符串的排列, 难度为 【中】 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例 1: 输入:s = "abc" 输出:["abc","acb","bac","bca" 阅读全文
摘要:
题目描述 这是 LeetCode 上的 632.最小区间, 难度为 【困难】 你有 k 个 非递减排列 的整数列表。找到一个 最小 区间,使得 k 个列表中的每个列表至少有一个数包含在其中。 我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c 阅读全文