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

算法一刷 数组(上)

704、二分查找

https://leetcode.cn/problems/binary-search/description/

题目

解析

这个题目是有序数组,还强调了数组中没有重复元素,在此条件下使用二分查早返回的元素下标可能不是唯一的,这些都是二分查早的前提。而对于二分查早来说我们就需要运用一下口诀坚持开闭一致性

代码

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

这是左闭右闭的写法,主要是需要观察以下几个方面

27、移除元素

https://leetcode.cn/problems/remove-element/

题目

解析

这个题目主要是用到了快慢指针的方法,我们可以定义一个慢指针和一快指针,快指针主要是用于先一步判断便利到的元素是否和要移除到的元素一样,如果变量到的元素等于要移除的元素,那么慢指针就不需要移动。

答案

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

977、有序数组的平方

https://leetcode.cn/problems/squares-of-a-sorted-array/description/

题目

解析

只需要将原来的数组平方,然后同时定义两个指针,尾指针和头指针,对其进行遍历得出答案。我们将正数的相对位置保持不变,调整负数的平方的后的相对位置。

答案

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

209、长度最小子数组

https://leetcode.cn/problems/minimum-size-subarray-sum/

题目

解析

本题的解题思路是滑动窗口。滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得到我们所需要的结果。我们需要使用一个for循环来表示滑动窗口的终止位置即可。

答案

class Solution {public int minSubArrayLen(int s, int[] nums) {int left = 0;int sum = 0;int result = Integer.MAX_VALUE;for (int right = 0; right < nums.length; right++) {sum += nums[right];while (sum >= s) {result = Math.min(result, right - left + 1);sum -= nums[left++];}}return result == Integer.MAX_VALUE ? 0 : result;}
}
http://www.dtcms.com/a/396250.html

相关文章:

  • 德州哪里做网站做网站美工
  • 甘肃省第八建设集团公司网站Wordpress 搜索热词
  • 两个网站如何做端口映射郴州网站建设软件定制开发制作
  • 天津微网站建设智慧团建注册登录入口下载
  • 第十周SSRF漏洞
  • Pyside6 + QML - 信号与槽06 - 一个信号触发多个函数
  • html5旅游网站八大员报名入口官网
  • 海外建站平台创建网站主题在哪里
  • 太阳能电池红外异常检测+光伏巡检创新+低空经济方案
  • 建阳网站建设wzjseo苏州网站优化哪家好
  • 自动化抓取谷歌AI实战
  • seo网站优化培训多少价格部署一个网站要做哪些工作
  • 如何免费注册网站域名个人注册公司的详细步骤
  • 龙华区住房和建设局网站官网钱多网站
  • 0基础如何做网站手机主页网站推荐
  • git status突然显示很多文件改动
  • 微网站免费软件互联网服务公司有哪些
  • 做婚纱摄影网站wordpress怎样添加模板
  • 成都科技网站建设咨指数
  • 化妆品销售网站的源代码好的空间网站
  • 快速构建网站网站上内容列表怎么做
  • 网站备案注销申请表深圳网站建设有没有市场
  • 通俗易懂地解释Bradley-Terry-Luce(BTL)模型
  • 互联网营销网站建设聊城网站建设报价
  • 做网站用什么ide制作动漫的软件
  • 建设单位到江川区住房和城乡建设局网站东莞网络推广产品的公司吗
  • 网站建设与制作实训报告qq说说赞在线自助下单网站
  • AVM 全景式监控影像系统:原理、应用与未来
  • 网站建设服务方案大型门户网站建设定制
  • 栾城住房和城乡建设局网站有哪些网站可以免费做推广的