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

day02——背!!!

283. 移动零

思路: 两个指针 i 和 pre ,pre指向0元素,i 往后遍历找到距离pre 最近的一个非0元素,然后进行交换,pre++

class Solution {public void moveZeroes(int[] nums) {int n = nums.length;int pre = -1;for(int i=0;i<n;i++){// 未出发 满足是0 ,pre去第一个0位置if(nums[i] == 0 && pre == -1) pre = i;// 已出发,交换if(nums[i] != 0 && pre != -1){nums[pre] = nums[i];nums[i] = 0;pre++;}}}
}
View Code

11. 盛最多水的容器

left right 矮的那个向中间移动。

先算面积再移动——>不然移动前的面积算不到

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

LCR 007. 三数之和

sum = nums[i]+nums[left]+nums[right];
for控制i, while控制left和right。
注意两个循环都要去重!!!   if(i>0 && nums[i] == nums[i-1]) continue;
Arrays.asList(nums[i], nums[left], nums[right])   ——>[ nums[i], nums[left], nums[right] ]

// 方式2:如果你想显式用LinkedList,正确写法如下(二选一即可) // List<Integer> triplet = new LinkedList<>(); // triplet.add(nums[i]); // triplet.add(nums[left]); // triplet.add(nums[right]); // ans.add(triplet);

class Solution {public List<List<Integer>> threeSum(int[] nums) {int n = nums.length;Arrays.sort(nums);List<List<Integer>> ans = new ArrayList<>();for(int i=0;i<n-2;i++){// 对第一个数i去重,避免重复的三元组if(i>0 && nums[i] == nums[i-1]) continue;int left = i+1;int right = n-1;// = while(left < right){int sum = nums[i]+nums[left]+nums[right];if(sum < 0) left++;else if(sum > 0) right--;else{ // 找到和为0的三元组,正确构造List并加入结果
                    ans.add(Arrays.asList(nums[i], nums[left], nums[right]));while(left<right && nums[left] == nums[left+1]) left++;while(left<right && nums[right] == nums[right-1]) right--;left++;right--;}}}return ans;}
}
View Code
42. 接雨水

双指针 max_left, max_right 分别指向i左右两端的最高位置

min为木桶短的那条边,按列遍历 容积 min-height[i]

class Solution {public int trap(int[] height) {int n = height.length;int max_left = 0;int[] max_right = new int[n];for (int i = n - 2; i >= 0; i--)max_right[i] = Math.max(max_right[i + 1], height[i + 1]);int min = 0;int sum = 0;for (int i = 1; i < n - 1; i++) {max_left = Math.max(max_left, height[i - 1]);min = Math.min(max_left, max_right[i]);if (height[i] < min)sum += min - height[i];}return sum;}
}
View Code

 

太棒了一题没记住,奖励再写一遍

http://www.jsqmd.com/news/394435/

相关文章:

  • 2026年武汉江葬服务推荐:武汉孝德礼仪服务有限公司,专业提供江葬公祭、游船江葬等全流程服务 - 品牌推荐官
  • 2026年保温材料厂家推荐:潍坊玉诚保温材料有限公司,聚氨酯/别墅/厂房/冷库保温全系解决方案 - 品牌推荐官
  • 2026年疲劳试验机厂家实力推荐:济南世昌试验设备有限公司,全系列疲劳试验机专业供应 - 品牌推荐官
  • 题解:洛谷 P1074 [NOIP 2009 提高组] 靶形数独
  • 2026年智能水肥一体化设备推荐:山东润浩水利科技,全系水肥一体机/移动水肥机解决方案 - 品牌推荐官
  • 2026年聚氨酯冷库保温材料厂家推荐:潍坊远航,喷涂/施工/工程一站式解决方案 - 品牌推荐官
  • 2026年滤油机厂家推荐:重庆市陆顺科技发展有限公司,透平/淬火/润滑/绝缘油滤油机全系供应 - 品牌推荐官
  • 2026年丝杆模组型材厂家推荐:山东富俊机械科技,双丝杆/直线/导轨滑台全系解决方案 - 品牌推荐官
  • 2026年烧结滤芯专业厂家推荐:深圳市恒歌科技有限公司,多孔过滤材料与金属烧结滤芯全系解决方案 - 品牌推荐官
  • 2026年针织布松布机厂家推荐:艺大机械科技,变频/全自动/电子/调速等松布机全系供应 - 品牌推荐官
  • 2025年度优质PLC控制柜定制厂家排行揭晓,水处理变频控制柜/智能水泵控制柜,PLC控制柜批发厂家排行榜 - 品牌推荐师
  • 2026年水质测试仪厂家推荐:杭州凯米斯物联传感科技,全系水质测试仪助力精准监测 - 品牌推荐官
  • 2026年玻璃钢缠绕机厂家推荐:连云港拓天航空装备,全自动/管道/化粪池缠绕机专业供应 - 品牌推荐官
  • 2026年FDA认证权威推荐:深圳市中检联标技术服务有限公司,提供药品/膳食补充剂/化妆品/食品FDA认证服务 - 品牌推荐官
  • 题解:洛谷 P5507 机关
  • 2026年香水瓶生产厂家推荐:徐州群益玻璃科技,定做/批发/定制/精油瓶/香薰瓶全品类供应 - 品牌推荐官
  • 2026年铸铁平台专业厂家推荐:泊头市天健工量具,灰铸铁/T型槽/高精度/定制铸铁平台全系供应 - 品牌推荐官
  • 2026年显微成像设备推荐:上海数联生物科技多模态/荧光寿命/动物活体成像全覆盖 - 品牌推荐官
  • 2026年拆包机设备推荐:潍坊浩宝机械吨袋拆包机、全自动拆包投料机等全系产品解析 - 品牌推荐官
  • 2026年口碑好的青岛A3打印机租赁公司实力推荐榜 - 品牌鉴赏师
  • 2026年气象站设备厂家推荐:河北品高电子科技,农业/超声波/校园/便携/光伏气象站全覆盖 - 品牌推荐官
  • 2026年双膜气柜厂家实力推荐:青岛海越膜结构工程有限公司,全系产品覆盖多场景需求 - 品牌推荐官
  • 2026年氨水供应商推荐:山东青甲化工,化工/脱硫/电子/食品级氨水全系供应 - 品牌推荐官
  • 2026年杀虫灯专业厂家推荐:扬州市宝迪照明科技,太阳能/风吸式/电击式全系产品供应 - 品牌推荐官
  • 题解:洛谷 P6824 「EZEC-4」可乐
  • COMSOL石墨烯/钙钛矿太阳能电池仿真模型:光电耦合模型文章复现
  • 2026年机械设计/CNC编程技术培训推荐:欧凡CNC数控编程技术培训全系课程解析 - 品牌推荐官
  • 论文写不动?AI论文工具千笔ai写作 VS 知文AI,专科生专属利器!
  • 题解:洛谷 P1379 八数码难题
  • 题解:洛谷 P1120 [CERC 1995] 小木棍