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

建站软件公司免费的网站推广平台

建站软件公司,免费的网站推广平台,西安招聘网站建设,塘沽做网站移动零 题目链接 题目描述: 思路:上述蓝色箭头代表当前遍历的元素,红色数字则是当前空位0的位置,每一次遇到非0元素,就是讲该元素的位置和空位0的位置进行交换,同时空位0的下标1. 代码 class Solution …

移动零

题目链接
题目描述:
在这里插入图片描述

在这里插入图片描述

思路:上述蓝色箭头代表当前遍历的元素,红色数字则是当前空位0的位置,每一次遇到非0元素,就是讲该元素的位置和空位0的位置进行交换,同时空位0的下标+1.

代码

class Solution {public void moveZeroes(int[] nums) {int zeroIndex = 0 ;for(int i = 0 ; i < nums.length ; i++){if(nums[i] != 0){int tmp = nums[i];nums[i] = nums[zeroIndex];nums[zeroIndex] = tmp;zeroIndex++;}}}
}

盛水最多的容器

题目链接
题目描述:
在这里插入图片描述

思路:使用双指针的思路解决本题关键在于理解如何更新边界,缩小范围的时候应该缩小左边界还是缩小右边界,此处处理的思路应该是我们缩小较小的边界,因为最终存储量的大小是由高度所决定的。

代码

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

三数之和

题目链接
题目描述:
在这里插入图片描述

思路: 遍历nums,当前下标为i的元素,与它的和为0的两个元素只可能在这个元素之后,因此,对这个元素之后的元素采用双指针来便利.(注意跳过重复的情况).

代码

class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res = new ArrayList<>();Arrays.sort(nums);for(int i = 0 ; i < nums.length ; i++){// 原始数据已经按照从大到小进行排序了,当当前下标的元素大于0,就没有必要继续检测了if(nums[i] > 0) return res;// 如果相邻的元素的值相同,那么他们查找出来的结果一定是重复的,所以要跳过.if(i > 0 && nums[i - 1] == nums[i])continue;int right = nums.length - 1;int left = i + 1;while(left < right){int sum = nums[i] + nums[left] + nums[right];if(sum < 0){left++;}else if(sum > 0){right--;}else{res.add(Arrays.asList(nums[i],nums[left],nums[right]));// 再次避免相邻元素出现同样的结果while(right > left && nums[right] == nums[right - 1]) right--;while(right > left && nums[left] == nums[left + 1]) left++;// 去除重复元素之后,总会剩下一组,因此此处需要再一次更新边界right--;left++;}}}return res;}
}

接雨水

题目链接
题目描述:
在这里插入图片描述

代码

双指针

力扣官方图片:
力扣官方图

class Solution {public int trap(int[] height) {int len  = height.length;int[] leftMax = new int[len];int lMax = 0;int[] rightMax = new int[len];int rMax = 0;int res = 0;// 统计从左到右的每个下标已记录的最大值for(int i = 0 ; i < len - 1 ; i++){lMax = Math.max(lMax,height[i]);leftMax[i] = lMax;}// 统计从右到做的每个下标已经记录的最大值for(int i = len -1 ; i >= 0 ; i--){rMax = Math.max(rMax,height[i]);rightMax[i] = rMax;}// 获取当前节点真正可以填充的高度for(int i = 0 ;i < len ; i++){int val = Math.min(leftMax[i],rightMax[i]) - height[i];if(val > 0)res += val;}return res;}
}

单调栈(待补充)


http://www.dtcms.com/wzjs/161595.html

相关文章:

  • 厦门网站建设114安卓内核级优化神器
  • 营销型网站建站公司推广网站软文
  • wordpress默认登录页修改seo关键词排名优化app
  • django做的网站源码微信加精准客源软件
  • 对政府网站建设的建议做网站怎么做
  • 个人网站做重定向图片seo培训教程
  • 做鞋子批发网站有哪些互联网最赚钱的行业
  • 做百度网站找谁seo模板建站
  • iis网站在点默认文档的时候报错.免费手游推广平台
  • 网站架构演变过程百度seo刷排名软件
  • 三亚网上办事大厅济南做seo排名
  • 杭州市住房和城乡建设局官网襄阳seo优化排名
  • 公司做网站的钱网银转账用途如何做运营推广
  • 可信验证网站网络营销代运营外包公司
  • 怎么知道自己网站的权重谷歌seo网站推广怎么做优化
  • 只用php做网站目前最流行的拓客方法
  • 网站怎么做全屏滚动条长沙网站建设
  • 网站搜索优化怎么做网站营销方案
  • 企业网站建设怎么做电商代运营十大公司排名
  • 太原网站怎么做seo搜索引擎竞价排名
  • 做网站 php和java电商运营自学网站
  • 建设公司加盟骗局名单西安seo外包优化
  • 网站开发工程师 北大青鸟竞价推广外包托管
  • c 可以做哪些网站免费个人博客网站
  • 甘肃省建设厅注册中心网站首页十堰seo排名公司
  • 上城区网站建设价格百度投诉中心电话
  • 特供邯郸做网站外贸平台有哪些比较好
  • 宁波网站的建设seo刷关键词排名工具
  • java编程做网站竞价推广思路
  • python做网站多么慧聪网seo页面优化