![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 71 阅读 · 0 评论 -
位运算技巧-异或预算找出两个出现奇数次的数
该技巧就是将所有的数进行异或,因为其他的数字出现次数为偶数次,所以自己抵消为零了,剩下的结果就是两个要找的数的异或结果,因为这是两个不同的数,所以必然有不相同的位,我们任意找出一个不相同的位就可以将这些数分为两组 怎么找出不同的一位: 根据最后异或的结果,结果上为1的位就是两个要求的数不同的位,这是异或的性质。 怎么分组: 可以通过与运算将数分成两组,分成之后两个不同的数必然不在同一组,因为他们在我们选取的这一位上是不同的。而相同的数必然可以分到同一组。 最后两组分别异或运算得到的两个数就是结果。因为相同的原创 2022-01-06 15:36:31 · 263 阅读 · 0 评论 -
二分查找-第一个错误的版本
题目链接 题目内容 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。 示例 1: 输入:原创 2022-01-05 22:15:39 · 59 阅读 · 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 · 86 阅读 · 1 评论 -
二分法遍历技巧,再也不用纠结
二分法查找技巧,再也不用纠结头疼了原创 2021-12-14 23:04:13 · 4021 阅读 · 0 评论