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

代码随想录算法训练营第一天 | 数组概念、二分查找、双指针

数组概念

数组是存放在连续内存空间上的相同类型数据的集合。

二分查找

注意边界,常见的边界为左闭右开,左闭右闭。
如何判断$while()$循环条件是否带等号。
左闭右开[left, right) 不带等号
左闭右闭[left, right] 带等号
闭区间方需要进行“左+1 右-1”的操作,题目做35、35,拓展题34题没有思路,其他题还没看。

/** [704] 二分查找*/// @lc code=start
class Solution {public int search(int[] nums, int target) {int right = nums.length - 1;int left = 0;int mid = 0;while (left <= right) {mid = left + (right - left) / 2;if (nums[mid] == target){return mid;} else if (nums[mid] < target) {left = mid + 1;} else {right = mid - 1;}}return -1;}
}
/** [35] 搜索插入位置*/// @lc code=start
class Solution {public int searchInsert(int[] nums, int target) {int left = 0;int right = nums.length - 1;int mid = 0;while (right >= left) {mid = left + (right - left) / 2;if (nums[mid] == target) {return mid;} else if (nums[mid] < target){left = mid + 1;} else {right = mid - 1;}}return left;}
}

双指针

双指针思想主要是快慢更新数组,一个指针遍历数组,一个指针更新数组
做题 27、977 ,拓展题还没有看

/** [27] 移除元素*/// @lc code=start
class Solution {public int removeElement(int[] nums, int val) {int sign = 0;for (int i = 0; i < nums.length; i++) {if (nums[i] != val) {nums[sign] = nums[i];sign++;}}return sign;}
}
/** [977] 有序数组的平方*/// @lc code=start
class Solution {public int[] sortedSquares(int[] nums) {int left = 0;int right = nums.length - 1;int[] temp = new int[nums.length];for (int i = temp.length - 1; i >= 0; i--) {if (abs(nums[right]) > abs(nums[left])) {temp[i] = nums[right]*nums[right];right--;} else {temp[i] = nums[left]*nums[left];left++;}}return temp;}private int abs(int a){if (a < 0) {a = -a;}return a;}
}
http://www.jsqmd.com/news/437243/

相关文章:

  • SolidWorks二次开发(C#)-CustomPropertyManager.Add3自定义属性管理器-添加属性
  • # 告别分类器!深入浅出Classifier-Free Guidance技术全景
  • AI时代如何获客?2026特色GEO服务商推荐 - 品牌2026
  • YOLO real-time object detectors All In One
  • 机器学习算法,半监督学习可以实现什么功能?
  • 扩散模型采样器全解:从原理到产业,掌握生成速度与质量的平衡术
  • 2026年3月深圳舆情监控软件公司推荐:行业权威盘点与品质红榜发布 - 品牌鉴赏师
  • 与RabbitMQ 相比,Kafka 有哪些优势?
  • 搭建python自动化测试环境
  • 在 Mac 电脑上连接小米手机传输文件
  • AI产品必懂的100个概念(非常详细),AIGC全赛道从入门到精通,收藏这一篇就够了!
  • DRF学习
  • 邦芒干货:新人简历自我评价的三段位进阶
  • AI时代如何获客?2026特色GEO服务商测评 - 品牌2026
  • CVPR和Nature的共同选择,这种多模态信息融合思路真的需要好好学习一下!
  • 2026年3月盐城医疗资质代办公司推荐:行业权威盘点与品质红榜发布 - 品牌鉴赏师
  • 制药产品如何正确归类?关务最容易踩坑的 HS 编码问题一次讲清
  • 如何通过AI获客?2026GEO服务商盘点 - 品牌2026
  • 二叉树分解问题思路解题模式
  • AI时代的SEO写作:从关键词到意图的全面升级
  • 3.4学习(Qt八股)
  • tt: the observer of west and east
  • 定义2026:正在重塑数字营销的颠覆性趋势
  • 【图像加密解密】改进的DCT加密的先进双域图像加密技术【含Matlab源码 15122期】
  • leetcode-乘积最大子数组
  • 具身智能篇---LLaVA (Large Language-and-Vision Assistant)
  • STM32 ADC与DMA调试经验总结:从困惑到顿悟的2天调试之旅
  • 云手机 TIKTOK账号运营
  • 华东服务器机柜 网络稳定
  • 具身智能篇---OpenVLA (Open-Source Vision-Language-Action Model)