
leetcode
u010765526
这个作者很懒,什么都没留下…
展开
-
二分查找
一,二分查找 二分查找法作为一种常见的查找方法,将原本是线性时间提升到了对数时间范围,大大缩短了搜索时间,但它有一个前提,就是必须在有序数据中进行查找。 时间复杂度:O(lon2(n)) 二,最基本的二分查找 int binarySearch(int* A, int target, int n){ int low = 0, high = n, mid; while(lo...原创 2019-07-23 23:01:56 · 156 阅读 · 0 评论 -
26. 删除排序数组中的重复项
一,删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长...原创 2019-07-21 21:58:12 · 117 阅读 · 0 评论 -
80. 删除排序数组中的重复项 II
一,删除排序数组中的重复项 II 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例1: 给定 nums = [1,1,1,2,2,3], 函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3...原创 2019-07-21 22:42:08 · 147 阅读 · 0 评论 -
27. 移除元素
一,移除元素 给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 n...原创 2019-07-21 22:55:57 · 88 阅读 · 0 评论 -
283. 移动零
一,移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 二,方法:双指针 与移除元素相似,遍历数组,将不是0的元素重新赋值到数组中,遍历完后就剩余的数组空间赋0即可。 三,实现...原创 2019-07-21 23:07:28 · 107 阅读 · 0 评论