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

【3.3】指针、二分、SSM项目

二分查找

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

模板说明:

int left = 0;
int right = n - 1;

说明是[left , right]的查找。

while(left <= right){

当退出while循环时,left = right + 1,比如[3,2]区间,此时区间中没有元素,说明查找了全部元素。

 left = mid + 1;
right = mid - 1;

因为是闭区间的查找,每次查找都查了mid元素,所以不用重复查找。如果不这样设置,当查找区间内不存在的数字时,会造成死循环(left = right = mid)。

  • 27. 移除元素 - 力扣(LeetCode)

    快慢指针。

    class Solution {public int removeElement(int[] nums, int val) {int right = 0;int n = nums.length;for(int i = 0 ; i < n ; i ++){if(nums[i] == val){continue;}else {nums[right ++] = nums[i];}}return right;}
    }
    
  • 977. 有序数组的平方 - 力扣(LeetCode)

    左右指针。

    class Solution {public int[] sortedSquares(int[] nums) {int n = nums.length;int i = 0;int j = n - 1;int [] result =new int [n]; int k = n - 1;while(k >= 0){if(nums[i] * nums[i] >= nums[j] * nums[j]){result[k --] = nums[i] * nums[i];i ++;}else{result[k --] = nums[j] * nums[j];j --;}}return result;}
    }
    
http://www.lryc.cn/news/27952.html

相关文章:

  • buu [INSHack2017]rsa16m 1
  • 【数据结构起航】:衡量算法的好坏--时间空间复杂度
  • 动手学深度学习【1】——线性回归
  • Html 相关知识
  • 【冲刺蓝桥杯的最后30天】day1
  • c++泛型编程与模板-01函数模板
  • Golang http请求忘记调用resp.Body.Close()而导致的协程泄漏问题(含面试常见协程泄漏相关测试题)
  • 进程信号生命周期详解
  • 2023-03-03干活小计
  • 操作系统结构
  • [SSD科普] 固态硬盘物理接口SATA、M.2、PCIe常见疑问,如何选择?
  • 【Java学习笔记】3.Java 基础语法
  • Python基础学习6——if语句
  • 有免费的PDF转Word吗?值得收藏的7个免费 PDF转Word工具请收好
  • Thinkphp6使用RabbitMQ消息队列
  • 小成本互联网创业怎么做?低成本创业的方法分享
  • 六、栈、栈的相关问题
  • Java安全停止线程
  • 12 readdir 函数
  • Windows环境搭建Android开发环境-Android Studio/Git/JDK
  • 全国爱耳日丨听力受损严重有哪些解决办法
  • 【抽水蓄能电站】基于粒子群优化算法的抽水蓄能电站的最佳调度方案研究(Matlab代码实现)
  • 【异常】因多租户字段缺少导致Error updating database. Column ‘tenant_id‘ cannot be null
  • 类和对象(上)
  • Java经典面试题——谈谈 Java 反射机制,动态代理是基于什么原理?
  • 19 客户端服务订阅机制的核心流程
  • 教师论文|科技专著管理系统
  • 骨传导耳机是什么意思,骨传导耳机的好处具体有哪些
  • elasticsearch—使用汇总
  • 聊一聊代码重构——我们为什么要代码重构