当前位置: 首页 > news >正文

代码随想录算法训练营第一天 | 二分查找、移除元素、有序数组的平方

二分查找

题目链接:[https://leetcode.cn/problems/binary-search/]
文章讲解:[https://programmercarl.com/0704.二分查找.html]
视频讲解:[https://www.bilibili.com/video/BV1fA4y1o715]

解法

设置left和right,mid为两者之中。每次比较mid与target的大小,如果mid==target,则返回mid(下标);如果mid < target,向右缩小区间,left = mid + 1。mid > target同理。
循环退出条件:left > right。因为有两种比较情况:
1.mid在left和right之间
2.mid == left == right
两种比较都合法,包括了所有情况。当left == mid == right后,如果依然没有匹配结果,下一次移动r或l将会导致left > right,说明不在范围内。

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

移除元素

题目链接:[https://leetcode.cn/problems/remove-element/]
文章讲解:[https://programmercarl.com/0027.移除元素.html]
视频讲解:[https://www.bilibili.com/video/BV12A4y1Z7LP]

解法

双指针,快慢指针。慢指针用来构造合法数组,快指针搜寻不等于val的元素。

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

有序数组的平方

题目链接:[https://leetcode.cn/problems/squares-of-a-sorted-array/]
文章讲解:[https://programmercarl.com/0977.有序数组的平方.html]
视频讲解: [https://www.bilibili.com/video/BV1QB4y1D7ep]

解法

采用双指针,但不是快慢指针,而是前后指针。因为数组两边的数的平方一定有一个是最大的,只需要比较这两个即可,将较大的那个加入新数组

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int size_ = nums.size();vector<int> newnums(size_);int i = 0;int j = size_ - 1;int index = j;while(i <= j){if(nums[i] * nums[i] > nums[j] * nums[j]){newnums[index] = nums[i] * nums[i];index--;i++;}else{newnums[index] = nums[j] * nums[j];index--;j--;}}return newnums;}
};

第一天打卡,以后一定能坚持下来,成为编程糕手!

http://www.jsqmd.com/news/436600/

相关文章:

  • 2025_NIPS_VT-FSL: Bridging Vision and Text with LLMs for Few-Shot Learning
  • 2026年防偷拍检测器品牌推荐:多场景安全防护评价,聚焦探测效率与操作便捷核心痛点 - 品牌推荐
  • 救命神器! 更贴合专科生的降AI率网站,千笔·降AIGC助手 VS Checkjie
  • AI大模型实战——企业如何设计大模型应用架构
  • hadoop+Spark+django基于大数据技术的旅游数据分析与推荐系统(源码+文档+调试+可视化大屏)
  • 2026医师资格证考试资料推荐|避坑不踩雷,备考党直接抄作业! - 品牌测评鉴赏家
  • 2026医师资格证考试资料榜!选对这些,备考效率直接翻倍 - 品牌测评鉴赏家
  • 这份榜单够用!8个AI论文网站测评:研究生毕业论文+科研写作必备工具推荐
  • 2026医师资格证题库实测:4款高分神器,零基础/在职党闭眼入 - 品牌测评鉴赏家
  • 当浏览器输入一个url地址并回车,这个步骤实际做了哪些操作
  • 执助考试题库哪家好?实测大口碑品牌,避坑指南藏不住了(新手必看) - 品牌测评鉴赏家
  • AI原生应用内容过滤中的用户反馈机制设计
  • 2026年防偷拍检测器品牌推荐:差旅与住宿场景深度评测,解决隐私焦虑与便携痛点 - 品牌推荐
  • 2026年 T恤厂家推荐排行榜:圆领/短袖/潮牌/小众T恤,质感与舒适度兼备的时尚休闲之选 - 品牌企业推荐师(官方)
  • 2026年 POLO衫厂家推荐排行榜:男士/女士/短袖/长袖/时尚潮牌/小众质感/休闲舒适POLO衫源头实力甄选 - 品牌企业推荐师(官方)
  • 2026医师资格证备考培训哪家好?实测8家机构,避坑指南+精准推荐|教育博主亲测 - 品牌测评鉴赏家
  • 2026主治医师考试培训机构榜单,你想知道的都在这! - 品牌测评鉴赏家
  • 执助考试用书避坑指南:5大品牌测评+分阶段选书攻略,通关率UP! - 品牌测评鉴赏家
  • kvm虚拟化13
  • 中医执业考试题库大揭秘:哪款才是你的上岸神器? - 品牌测评鉴赏家
  • 2026中医执助备考不踩坑!5家热门培训机构实测种草,选对通过率直接开挂 - 品牌测评鉴赏家
  • 2026年 关节模组驱动器厂家推荐排行榜:高功率密度/国产化/一体化机器人/四足机器狗/人形机器人专用伺服驱动器精选 - 品牌企业推荐师(官方)
  • 赛博深渊(上):用 Apple Foundation Models 提炼“禁忌知识”的求生指南 - 教程
  • 2026年 夏季工作服厂家实力推荐榜:防静电工装与车间工装专业定制,精选优质品牌深度解析 - 品牌企业推荐师(官方)
  • FireRed-OCR多模态文档解析新突破:2B模型实现长尾版式精准解析!
  • GO富集分析原理
  • 实现抽奖转盘(简易版)
  • 去掉豆包文本星号 - DS随心转小程序
  • 2026年3月四川西嘉助听器厂家推荐榜,彰显高端助听技术实力 - 品牌鉴赏师
  • 编程效率提升10倍,我只用了一周时间