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

网站设计公司 推荐wordpress开源协议

网站设计公司 推荐,wordpress开源协议,网站建设总结体会,定制设计的网站两数之和 https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/description/ 比较简单,因为数组是排好序的,那么就利用双指针left、right,一个指向开头,一个指向结尾;如果两个指针位置元素相加大于目标元…

两数之和

https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/description/

比较简单,因为数组是排好序的,那么就利用双指针left、right,一个指向开头,一个指向结尾;如果两个指针位置元素相加大于目标元素,说明指向大了,right左移;反之,left右移。

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

三数之和

https://leetcode.cn/problems/3sum/

class Solution {public List<List<Integer>> threeSum(int[] nums) {Arrays.sort(nums);List<List<Integer>> res = new ArrayList<>();int n = nums.length;for(int i = 0;i<n-2;++i){int target = nums[i];int j = i+1,k=n-1;//去重操作if(i>0&&nums[i]==nums[i-1])continue;if(target+nums[i+1]+nums[i+2]>0)break;//当前值和两个最小值都大于0 直接break 因为target继续也是继续变大  加最小的都大于0  变大更是大于0了if(target+nums[k]+nums[k-1]<0)continue;///当前值和两个最大值都小于0 直接continue  枚举下一个target 因为target还可能变大 所以可能出现大于等于0while(j<k){if(nums[j]+nums[k]>-target)--k;else if(nums[j]+nums[k]<-target)++j;else {res.add(Arrays.asList(target,nums[j],nums[k]));j++;//去重操作while(j<k&&nums[j]==nums[j-1])++j;k--;//去重操作while(j<k&&nums[k]==nums[k+1])--k;}}}return res;}
}

统计和小于目标的下标对数目

https://leetcode.cn/problems/count-pairs-whose-sum-is-less-than-target/description/

class Solution {public int countPairs(List<Integer> nums, int target) {//先排序 排序之后相向双指针才更好的使用nums.sort((a,b)->a-b);int res = 0;//存储结果int i = 0,j = nums.size()-1;while(i<j){//当满足小于target的时候,i 到 i+1~j 之间的每一个元素肯定都是满足的if(nums.get(i)+nums.get(j)<target)res+=j-i++;else --j;}return res;}
}

最接近的三数之和

https://leetcode.cn/problems/3sum-closest/

基于三树之和改编的,不过灵神多了两部的剪枝优化 我这里没有写上去

class Solution {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);int res = Integer.MAX_VALUE;int n = nums.length;for(int i = 0;i<n-2;++i){if(i>0&&nums[i]==nums[i-1])continue;//优化一int num = nums[i];int left = i+1,right = n-1;while(left<right){int s = nums[left]+num+nums[right];res= (Math.abs(res-target)>Math.abs(s-target))?s:res;if(s>target)--right;else if(s<target)++left;else return target;}}return res;}
}

四数之和

https://leetcode.cn/problems/4sum/description/

四数之和我们可以类似三数之和一样,定一个数 那么就是三数之和 然后就是三数之和的逻辑,再定一个就变成两数之和。就是一个套娃

注意结果使用long接收

class Solution {public List<List<Integer>> fourSum(int[] nums, int target) {Arrays.sort(nums);List<List<Integer>> res = new ArrayList<>();int n = nums.length;for(int i = 0;i<n-3;++i){long  num1 = nums[i];if(i>0&&nums[i]==nums[i-1])continue;if(num1+nums[i+1]+nums[i+2]+nums[i+3]>target)break;if(num1+nums[n-1]+nums[n-2]+nums[n-3]<target)continue;for(int j = i+1;j<n-2;++j){long  naum2 = nums[j];if(j>i+1&&nums[j]==nums[j-1])continue;if (num1 + num2 + nums[j + 1] + nums[j + 2] > target) break; if (num1 + num2 + nums[n - 2] + nums[n - 1] < target) continue; int left = j+1,right = n-1;while(left<right){long s = num1+num2+nums[left]+nums[right];if(s==target){res.add(Arrays.asList((int)num1,(int)num2,nums[left],nums[right]));++left;while(left<right&&nums[left]==nums[left-1])++left;--right;while(left<right&&nums[right]==nums[right+1])--right;}else if(s>target){--right;}else{++left;}}}}return res;}
}

有效三角形的个数

https://leetcode.cn/problems/valid-triangle-number/description/

能成为一个三角形的条件:两边之和大于第三边

这样也就是三数之和的变种题目了 不过就是从后向前遍历罢了

class Solution {public int triangleNumber(int[] nums) {Arrays.sort(nums);int res = 0;int n = nums.length;for(int i = n-1;i>=2;--i){if(nums[i]>=nums[i-1]+nums[i-2])continue;//最大的两个边相加都小于第三边int l = 0,r = i-1;while(l<r){if(nums[l]+nums[r]>nums[i]){res+=r-l;--r;}else{++l;}}}return res; }
}

盛最多水的容器

https://leetcode.cn/problems/container-with-most-water/description/

面积由宽×高,高就是左右比较矮的哪一个 这样就可以了!

class Solution {public int maxArea(int[] height) {int n = height.length;int left = 0,right = n-1;int res = 0;while(left<right){int h,w = right-left;if(height[left]<height[right]){h = height[left];++left;}else{h = height[right];--right;}res = Math.max(res,w*h);}return res;}
}

接雨水

https://leetcode.cn/problems/trapping-rain-water/solutions/1974340/zuo-liao-nbian-huan-bu-hui-yi-ge-shi-pin-ukwm/

我们将每一个位置看作一个桶,桶的左边界就是左边做高的,右边界就是右边最高的,该位置可以存储的雨水位:min(左边界,右边界)-当前位置高度*1

class Solution {public int trap(int[] height) {int res= 0;int left = 0,right =height.length-1;int preMax = 0,sufMax = 0;//代表左边最高的板子和右边最高的板子while(left<right){preMax = Math.max(preMax,height[left]);sufMax = Math.max(sufMax,height[right]);if(preMax<sufMax){res+=preMax-height[left++];}else{res+=sufMax-height[right--];}}return res;}
}

文章转载自:

http://1KkgB1WH.ckzjL.cn
http://17c3Jh8b.ckzjL.cn
http://7TzyEjyN.ckzjL.cn
http://2u3NUC1U.ckzjL.cn
http://wbXz1rjS.ckzjL.cn
http://p6tJslb4.ckzjL.cn
http://exEAJEHL.ckzjL.cn
http://Jmv9ADFL.ckzjL.cn
http://7D7IC9gk.ckzjL.cn
http://GhumlRCa.ckzjL.cn
http://hSI2cQCK.ckzjL.cn
http://dUPh4aKp.ckzjL.cn
http://cdjONFk0.ckzjL.cn
http://PWNWfilH.ckzjL.cn
http://QH9mYZaX.ckzjL.cn
http://Lr4mmhh3.ckzjL.cn
http://YPK8ktUz.ckzjL.cn
http://3btI8jpt.ckzjL.cn
http://ZZ5oilzc.ckzjL.cn
http://Nr1w51nz.ckzjL.cn
http://phqGWj0R.ckzjL.cn
http://uLtlyXJh.ckzjL.cn
http://ibHXuPMn.ckzjL.cn
http://lOtxo4aR.ckzjL.cn
http://xxUbvcYe.ckzjL.cn
http://JXf8lqTn.ckzjL.cn
http://f1zSZf6J.ckzjL.cn
http://rTHHNGqG.ckzjL.cn
http://7luWqJln.ckzjL.cn
http://wH3kyA4Y.ckzjL.cn
http://www.dtcms.com/wzjs/660528.html

相关文章:

  • 泉州市网站api建设网站服务器数据迁移
  • 集团企业网站建设方案策划书专业手机建站公司
  • 免费授权企业网站源码杭州市网站制作
  • 宁波网站制作公司哪家好网站建设打造营销型网站
  • 网站开发的硬件设备学校网站开发建设合同
  • 婚庆设计网站模板国内外优秀建筑设计网站
  • 软件网站开发市场前景程序员做网站美工能过关吗
  • 网站规划与建设报告怎么写智能网站开发工具
  • 北京开发网站公司网页设计师培训大全
  • 开发网站要注意什么仪征做网站
  • 上海自助建站官网四川集团网站建设
  • 你接入的网站不属于同一个主体总代理项目
  • 商业网站建设心得体会网站建设后台管理便捷
  • 众v创业营网站建设电子商务网站建设及推广方案论文
  • 可以免费做网站新乡做网站哪家便宜
  • 企业网站备案流几天上海公共服务平台官网
  • 班级展示网站桐乡网站制作
  • 南海做网站企业网站空间在哪里
  • 广州网络建站app制作软件平台
  • 网站建设中的智能元素腾讯企业邮箱手机号登录入口
  • 没备案可以做网站么vue.js 可以做网站吗
  • 网站制作开发策划爱站网官网查询域名
  • 西安做网站的公司在汕头的网络公司有哪些
  • 网站上的个人词条怎么做的统一门户系统
  • 网站有死链接怎么办企业办公自动化管理系统
  • 建网站网站推荐盐城网站建设
  • 缔烨建设公司网站网站建设哪种语言好
  • 网站导航类型做3d教学网站
  • 关键词工具网站深圳比较有名的外贸公司
  • 购买域名后怎么建网站网站建设申报方案