自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 2010.10.10【力扣#35】搜索插入位置

题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例: 输入: nums = [1,3,5,6], target = 5 输出: 2 思路 定义左右指针l和r,由于数组已经排好序,且要求复杂度为O(logn),则想到二分法。由示例可知,当目标值和数组元素相同时,插入数组元素的左边。在代码中要注意临界情况。 代码 class Solution { public: int

2021-10-10 12:30:09 66

原创 2021.10.10【力扣#27】移除数组元素

题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 思路 定义双指针slow和fast,用fast比较数组元素和val,如果不相等,则赋值到slow指向的数组位置。时间复杂度为O(n)。在最坏情况下,数组中没有val存在,这时左右指针需要各自遍历数组一次。 代码 class Solution {

2021-10-10 12:18:38 57

原创 2021.10.10【力扣#26】删除数组重复元素

问题描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 思路 我一开始的思路是:先选定第0个元素,把后面的每个元素一次与其比较,如果重复,则把后面的所有元素一次往前移动一位。这样遍历一遍后,在选定第二个元素,重复上述操作。这样写起来十分复杂,且时间复杂度为O(n^2)。 答案的做法是双指针。分别定义slow=0,fast=1,当nums[sl

2021-10-10 11:51:23 81

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除