
LeetCode
LeetCode算法题
蒙奇·D·路飞·宝亮
我可是要成为海贼王的男人
展开
-
二分查找-33. 搜索旋转排序数组-一句话点透
题目链接整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为[nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …,nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为[4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一原创 2022-01-07 00:04:24 · 110 阅读 · 0 评论 -
位运算技巧-异或预算找出两个出现奇数次的数
该技巧就是将所有的数进行异或,因为其他的数字出现次数为偶数次,所以自己抵消为零了,剩下的结果就是两个要找的数的异或结果,因为这是两个不同的数,所以必然有不相同的位,我们任意找出一个不相同的位就可以将这些数分为两组怎么找出不同的一位: 根据最后异或的结果,结果上为1的位就是两个要求的数不同的位,这是异或的性质。怎么分组: 可以通过与运算将数分成两组,分成之后两个不同的数必然不在同一组,因为他们在我们选取的这一位上是不同的。而相同的数必然可以分到同一组。最后两组分别异或运算得到的两个数就是结果。因为相同的原创 2022-01-06 15:36:31 · 325 阅读 · 0 评论 -
二分查找-第一个错误的版本
题目链接题目内容你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:输入:原创 2022-01-05 22:15:39 · 86 阅读 · 0 评论 -
双指针法-977. 有序数组的平方
题目链接题目给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100] 示例 2:输入:nums = [-7,-3,2,3,11] 输出:[4,9,9,49,121]提示:1 <= nums.length <= 104-104 &原创 2022-01-04 22:32:58 · 142 阅读 · 1 评论 -
二分法遍历技巧,再也不用纠结
二分法查找技巧,再也不用纠结头疼了原创 2021-12-14 23:04:13 · 4109 阅读 · 0 评论