美容行业培训网站建设获取网页 代码 做网站
美容行业培训网站建设,获取网页 代码 做网站,深圳企业网站制作,网站建设需要什么书目录 题目链接#xff1a;长度最小的子数组
题目描述
思路分析#xff1a;滑动窗口(利用单调性#xff0c;使用同向双指针来优化)
细节处理
画图解析
代码
题目链接#xff1a;最大连续1的个数 III
题目描述
思路分析#xff1a;滑动窗口(同向双指针)
细节…目录 题目链接长度最小的子数组
题目描述
思路分析滑动窗口(利用单调性使用同向双指针来优化)
细节处理
画图解析
代码
题目链接最大连续1的个数 III
题目描述
思路分析滑动窗口(同向双指针)
细节处理
画图解析
代码
题目链接将 x 减到 0 的最小操作数
题目描述
思路分析 滑动窗口(同向双指针)
细节处理
画图解析
代码 题目链接长度最小的子数组
题目描述 思路分析滑动窗口(利用单调性使用同向双指针来优化)
定义左右指针left和rightright指针进入窗口while判断是否满足窗口内部和的值大于等于目标值的条件更新最小长度以及窗口和的值left出窗口
细节处理
单调性规避了很多没必要的枚举行为因为在找到满足条件的窗口和之后right指针继续进入窗口的长度肯定比原来的大所以找到满足条件的窗口和之后应该出窗口同向双指针指的是left和right都是往一个方向移动不会回退
画图解析 代码 public int minSubArrayLen(int target,int[]nums) {int n nums.length,lenInteger.MAX_VALUE,sum0;for (int left 0,right0; right n; right) {//进窗口sumnums[right];while (sumtarget){//判断lenMath.min(len,right-left1);sum-nums[left];left;//出窗口}}return lenInteger.MAX_VALUE?0:len;} 题目链接最大连续1的个数 III
题目描述 思路分析滑动窗口(同向双指针)
定义左右指针left和right以及统计0的个数zeroright指针进入窗口while判断是否满足窗口内部zero的值大于等于最多反转个数k的条件left出窗口)更新最长长度
细节处理
在找到超过反转个数的right位置时left不用走一步就更新一次因为在刚找到的那个位置的长度一定比left往后面一步一步走的长度长例1比例2长 画图解析 代码 public int longestOnes(int[] nums, int k) {int nnums.length,zero0,len0;for (int right 0,left0; right n; right) {if(nums[right]0) zero;//进窗口while (zerok){//判断if(nums[left]0) zero--;//出窗口left;}lenMath.max(len,right-left1);}return len;} 题目链接将 x 减到 0 的最小操作数
题目描述 思路分析 滑动窗口(同向双指针)
定义左右指针leftright和数组总和sum窗口长度len-1right进入窗口得到tempwhlie判断sum是否大于temp是的话left出窗口如果sumtarget则更新结果长度len取最大用数组总长度-窗口满足条件的最大长度即得到结果 细节处理
巧妙转化遇难则反将问题转化为求数组总和减去目标数的窗口的最长长度数组总长度减去最长长度即可得到最小操作数。当right走到sumtarget位置时left,right不用回退left再走一遍因为right还是要走到当前位置才满足条件。left需要走是因为如果sumtarget那left出窗口可能会找到sumtarget
画图解析 代码 public int minOperations(int[] nums, int x) {int sum0;int nnums.length;int len-1;for (int i : nums) sumi;int targetsum-x;
// 如果x的值大于所有数之和直接返回-1if(target0) return -1;for (int right 0,left0,temp0; right n ; right) {tempnums[right];//进窗口while (temptarget){//判断temp-nums[left];left;//出窗口}if(temptarget){lenMath.max(len,right-left1);//更新结果}}if(len-1) return len;else return n-len;}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87964.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!