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

【每日likou】704. 二分查找 27. 移除元素 977.有序数组的平方

  1. 二分查找
    这是一道一看就会,一做就废的题目。
    本题关键:确定target属于左闭右闭区间,还是左闭右开区间。
    思路:
    (1)假设target在左闭右闭区间
    循环条件应该为 left <= right,如果不写等于号,就排查不到num[left]=num[right]=target的情况。
    确定好区间后,right = mid -1.
    (2)假设target在左闭右开区间
    循环条件应该为 left < right,我们定义的是target在[left, right),如果left = right 时,不符合定义了
    确定好区间后,right = mid.
class Solution {public int search(int[] nums, int target) {int left = 0;int right = nums.length - 1;int centerIndex;while(left <= right){centerIndex = (right + left) / 2;if(nums[centerIndex] == target){return centerIndex;}else if(nums[centerIndex] > target){right = centerIndex - 1;}else{left = centerIndex + 1;}}return -1;}
}
  1. 移除元素
class Solution {public int removeElement(int[] nums, int val) {int i = 0;int j = nums.length - 1;while(i <= j){    if(nums[i] != val){i++;}else if(nums[i] == val && nums[j] != val){nums[i] = nums[j];i++; j--;}else if(nums[i] == val && nums[j] == val){j--;}}return i;}
}

977.有序数组的平方
本题关键;
平方最大的数要么在数组的第一个位置,要么在数组的最后一个位置。由此想到双指针法。

class Solution {public int[] sortedSquares(int[] nums) {int[] res = new int[nums.length];int left = 0;int right = nums.length - 1;int cur = nums.length - 1;while(left <= right){if(Math.abs(nums[left])  <= Math.abs(nums[right])){res[cur--] = nums[right] * nums[right];right--;}else if(Math.abs(nums[left])  > Math.abs(nums[right])){res[cur--] = nums[left] * nums[left];left++;}}return res;}
}

相关文章:

  • docker-compose搭建eureka-server和zipkin
  • asio之静态互斥量
  • ubuntu22 arm 编译安装input leap
  • 20250611让NanoPi NEO core开发板在Ubuntu core16.04系统下开机自启动的时候拉高GPIOG8
  • NumPy 2.x 完全指南【二十五】记录数组
  • 建站新手:我与SiteServerCMS的爱恨情仇(三)
  • 【c++八股文】Day2:虚函数表和虚函数表指针
  • RPC启动机制及注解实现
  • day 50
  • 0:0 error Parsing error: Cannot read properties of undefined (reading ‘map‘)
  • Rust 学习笔记:通过异步实现并发
  • C语言学习20250611
  • 亮数据抓取浏览器,亚马逊数据采集实战
  • Flask 报错修复实战:send_file() got an unexpected keyword argument ‘etag‘
  • vite原理
  • MFC 第1章:适配 WIndows 编程的软件界面调整
  • 创建和运行线程
  • 训练过程中的 Loss ?
  • 红队手法:从web漏洞到ssh横向移动 实战方案
  • 达梦数据库dsc集群+异步主备
  • 石家庄seo网站优化电话/sem和seo的关系
  • 西部数码网站管理助手 卸载/网站优化排名服务
  • 泉州建站服务/网络软文营销案例3篇
  • 宜兴建设局拍卖房产的网站/海外推广方法有哪些
  • 传统企业建设营销型网站/网站关键词搜索
  • 我做网站了圆通/中国免费网站服务器下载