打卡第一天| 704. 二分查找、27. 移除元素

704.二分查找

看到题目就想到曾经做过类似的,先取得左右边界,然后求中间值,如果要求的数在nums[middle]左边,就把右边界取middle-1,同理如果要求的数在nums[middle]右边,就把左边界取middle+1,代码如下。

class Solution {
public:int search(vector<int>& nums, int target) {int start = 0;int end = nums.size() - 1;while(start <= end){int middle = (start+end)/2;if(nums[middle]>target){end = middle - 1;}else if(nums[middle]<target){start = middle + 1;}else{return middle;}}return -1;}
};

27.移除元素

移除元素使用了两个指针,一个快指针,一个慢指针,快指针总是自增,所以写入for循环,慢指针在快指针指向的数字不等于val时被快指针赋值,快指针指向的数字与val相等时反而不赋值,这样可以使得在下一轮循环开始时,val被替换掉,代码如下。

class Solution {
public:int removeElement(vector<int> &nums, int val){int slowIndex = 0;int size = nums.size();for (int fastIndex = 0; fastIndex < size; fastIndex++){if (val != nums[fastIndex]){nums[slowIndex++] = nums[fastIndex];}}return slowIndex;}
};

打卡第一天 704. 二分查找、27. 移除元素相关推荐

  1. 代码随想录算法训练营第一天|704二分查找 27移除元素

    理论基础 1.数组是存放在连续内存空间上的相同类型数据的集合 2.数组可以方便的通过下标索引的方式获取到下标下对应的数据 3.数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要 ...

  2. day1 704.二分查找 27.移除元素

    文章目录 704.二分查找 思路 代码实现 27.移除元素 思路 代码实现 704.二分查找 题目链接:704.二分查找 思路 使用二分法的前提条件: 1.有序数组 2.无重复元素 代码实现 左闭右闭 ...

  3. Leetcode 704.二分查找 27.移除元素 代码随想录day1

    本系列目的在于跟练代码随想录,以及记录自己在数据结构与算法方面的一些学习 704.二分查找 其实之前自己在随便刷题的时候看过这道题目,就是一个纯新手的大状态,第一次听到二分查找这样的东西,然后跟着题解 ...

  4. 代码修炼Day1_LeetCode704二分查找27移除元素

    代码修炼Day1_LeetCode704二分查找&27移除元素 一些数组基本知识 数组下标都是从0开始的 数组内存空间的地址是连续的 题目链接: 力扣704二分查找 二分查找思想 针对升序数组 ...

  5. 第一天| 704. 二分查找、27. 移除元素。

    第一天| 704. 二分查找.27. 移除元素. 704.二分查找 1. 题目描述 题目链接:力扣704题 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函 ...

  6. 代码随想录Day01:数组理论基础、二分查找、移除元素

    目录 数组理论基础.二分查找.移除元素 1.数组理论基础 2.Leetcode704.二分查找 方法一 左闭右闭: 方法二 左闭右开: 方法三 左开右开: 方法四 左开右闭: 3.Leetcode27 ...

  7. Day01.二分查找、移除元素

    Day01.二分查找.移除元素 0704.二分查找 题目链接:0704.二分查找 思路:二分查找,仅对有序数组有效.每次需要数组的中间值,与目标值比较大小,如果中间值比目标值大,说明目标值位置在lef ...

  8. 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。

    704. 二分查找 题目链接:704. 二分查找 - 力扣(LeetCode) 第一天代码跑题了,做出来了但是没有使用二分法,看了讲解,对于左闭右闭和左闭右开还需要多思考,并没有完全理解.那就先总结一 ...

  9. JS刷题第一天| 704. 二分查找、27. 移除元素

    704. 二分查找 题目链接:力扣 文章讲解:代码随想录 视频讲解:手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili 看 ...

最新文章

  1. 【CentOS】安装lnmp环境
  2. CentOS 7 修改终端字符界面分辨率
  3. IOS UITableView的点击展开隐藏功能的思路
  4. ansible---基础
  5. 智能手机下,如何拯救你,我的孩子
  6. python中数据类型不同运算不同_Python的基本数据类型与运算
  7. OpenDaylight系列教程(十一)-- Installing OpenDaylight
  8. abb机器人goto指令用法_ABB机器人指令对照---中文
  9. Java程序员必会!没有返回值的构造函数是怎么完成赋值的?
  10. runnerw.exe: CreateProcess failed with error 193: %1 问题定位-idea
  11. 动态设置control的显示与隐藏
  12. 正则表达式30分钟入门教程(转载)
  13. 【车间调度】基于matlab灰狼优化算法求解柔性作业车间问题【含Matlab源码 661期】
  14. el-scrollbar 优化滚动条样式
  15. 台式机+笔记本的扩展模式+远程登录设置
  16. mysql:列类型之Spatial
  17. 解析京东大数据下高效图像特征提取方案
  18. 非参数统计中的核平滑方法/Kernel smoother
  19. C/C++面试题-2 之2/2
  20. NLP(三十九)使用keras-bert实现完形填空及简单的文本纠错功能

热门文章

  1. 【Elasticsearch】ES正确查询文档数不要使用_search的hit而是使用_count
  2. Nginx转发配置规则
  3. DTI数据处理与分析(一)——DTI概念
  4. upload-labs(1~3关)
  5. 电脑通过CH340-cp2102与ESP01S串口调试步骤及错误解决办法
  6. 通过序列号生成树形结构数据、代码实现
  7. CASE~WHEN~THEN
  8. Java:获取系统时间,并自定义时间格式
  9. matlab 函数调用和修改传入参…
  10. 为什么Unity按钮点击失灵了