打卡第一天 704. 二分查找、27. 移除元素
打卡第一天| 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. 移除元素相关推荐
- 代码随想录算法训练营第一天|704二分查找 27移除元素
理论基础 1.数组是存放在连续内存空间上的相同类型数据的集合 2.数组可以方便的通过下标索引的方式获取到下标下对应的数据 3.数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要 ...
- day1 704.二分查找 27.移除元素
文章目录 704.二分查找 思路 代码实现 27.移除元素 思路 代码实现 704.二分查找 题目链接:704.二分查找 思路 使用二分法的前提条件: 1.有序数组 2.无重复元素 代码实现 左闭右闭 ...
- Leetcode 704.二分查找 27.移除元素 代码随想录day1
本系列目的在于跟练代码随想录,以及记录自己在数据结构与算法方面的一些学习 704.二分查找 其实之前自己在随便刷题的时候看过这道题目,就是一个纯新手的大状态,第一次听到二分查找这样的东西,然后跟着题解 ...
- 代码修炼Day1_LeetCode704二分查找27移除元素
代码修炼Day1_LeetCode704二分查找&27移除元素 一些数组基本知识 数组下标都是从0开始的 数组内存空间的地址是连续的 题目链接: 力扣704二分查找 二分查找思想 针对升序数组 ...
- 第一天| 704. 二分查找、27. 移除元素。
第一天| 704. 二分查找.27. 移除元素. 704.二分查找 1. 题目描述 题目链接:力扣704题 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函 ...
- 代码随想录Day01:数组理论基础、二分查找、移除元素
目录 数组理论基础.二分查找.移除元素 1.数组理论基础 2.Leetcode704.二分查找 方法一 左闭右闭: 方法二 左闭右开: 方法三 左开右开: 方法四 左开右闭: 3.Leetcode27 ...
- Day01.二分查找、移除元素
Day01.二分查找.移除元素 0704.二分查找 题目链接:0704.二分查找 思路:二分查找,仅对有序数组有效.每次需要数组的中间值,与目标值比较大小,如果中间值比目标值大,说明目标值位置在lef ...
- 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。
704. 二分查找 题目链接:704. 二分查找 - 力扣(LeetCode) 第一天代码跑题了,做出来了但是没有使用二分法,看了讲解,对于左闭右闭和左闭右开还需要多思考,并没有完全理解.那就先总结一 ...
- JS刷题第一天| 704. 二分查找、27. 移除元素
704. 二分查找 题目链接:力扣 文章讲解:代码随想录 视频讲解:手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili 看 ...
最新文章
- 【CentOS】安装lnmp环境
- CentOS 7 修改终端字符界面分辨率
- IOS UITableView的点击展开隐藏功能的思路
- ansible---基础
- 智能手机下,如何拯救你,我的孩子
- python中数据类型不同运算不同_Python的基本数据类型与运算
- OpenDaylight系列教程(十一)-- Installing OpenDaylight
- abb机器人goto指令用法_ABB机器人指令对照---中文
- Java程序员必会!没有返回值的构造函数是怎么完成赋值的?
- runnerw.exe: CreateProcess failed with error 193: %1 问题定位-idea
- 动态设置control的显示与隐藏
- 正则表达式30分钟入门教程(转载)
- 【车间调度】基于matlab灰狼优化算法求解柔性作业车间问题【含Matlab源码 661期】
- el-scrollbar 优化滚动条样式
- 台式机+笔记本的扩展模式+远程登录设置
- mysql:列类型之Spatial
- 解析京东大数据下高效图像特征提取方案
- 非参数统计中的核平滑方法/Kernel smoother
- C/C++面试题-2 之2/2
- NLP(三十九)使用keras-bert实现完形填空及简单的文本纠错功能