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

贪心算法习题其二【力扣】【算法学习day.18】

前言

###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.分发糖果

题目链接:135. 分发糖果 - 力扣(LeetCode)

题面:

基本分析: 从左往右遍历,需要满足高分比低分多,从右往左遍历,同样也需要,遍历两次取最大值

代码:

class Solution {public int candy(int[] ratings) {int n = ratings.length;int[] left = new int[n];int[] right = new int[n];Arrays.fill(left,1);Arrays.fill(right,1);for(int i =1;i<n;i++){if(ratings[i]>ratings[i-1]){left[i]=left[i-1]+1;}}int sum = left[n-1];for(int i =n-2;i>=0;i--){if(ratings[i]>ratings[i+1]){right[i]=right[i+1]+1;}sum+=Math.max(left[i],right[i]);}return sum;}
}

2.柠檬水找零

题目链接:860. 柠檬水找零 - 力扣(LeetCode)

题面:

基本分析:优先使用掉大面值的钱

代码:

class Solution {public boolean lemonadeChange(int[] bills) {int n = bills.length;int[] arr = new int[11];for(int c:bills){if(c==5){arr[5]++;}else if(c==10){if(arr[5]==0)return false;arr[5]--;arr[10]++;}else{if(arr[10]>0){arr[10]--;if(arr[5]==0)return false;arr[5]--;}else{if(arr[5]<3)return false;arr[5]-=3;}}}return true;}
}

3.根据身高重建队列

题目链接:406. 根据身高重建队列 - 力扣(LeetCode)

题面:

基本分析:先排高的,矮的进行插队

代码:

class Solution {public int[][] reconstructQueue(int[][] people) {int n = people.length;Arrays.sort(people, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {if(o1[0]==o2[0])return o1[1]-o2[1];return o2[0]-o1[0];}});LinkedList<int[]> list = new LinkedList<>();for (int[] i : people) {list.add(i[1], i);}return list.toArray(new int[list.size()][2]);}
}

后言

上面是贪心算法的部分习题,下一篇会讲解贪心算法的其他相关力扣习题,希望有所帮助,一同进步,共勉!   


http://www.mrgr.cn/news/62922.html

相关文章:

  • 在面试了些外包以后,我有了些自己的思考
  • 【Qt】qss 设置通过 addAction 添加的 QToolButton的图标
  • Github 2024-10-24 Go开源项目日报 Top10
  • 51c多模态~合集1
  • 迪杰斯特拉算法(Dijkstra‘s Algorithm
  • 蓝桥杯练习笔记(十九-质数筛)
  • Rust 力扣 - 1343. 大小为 K 且平均值大于等于阈值的子数组数目
  • 博图V19的DB块,批量导入组态王
  • 如何去掉idea的Usage提示
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-9
  • 关于自动驾驶等级相关知识
  • OpenCV与AI深度学习 | 基于OpenCV和深度学习预测年龄和性别
  • “换行”与“回车”
  • 深度数据修复软件哪个好?盘点2024年好用的4个数据恢复工具。
  • Redis新数据类型
  • 科研修图Adobe全家桶access
  • ANA基因组数据库(ANAgdb)
  • 【Leetcode】单调栈
  • 强化学习DQN实践(gymnasium+pytorch)
  • 人工智能生产力悖论:为什么大多数人没用上AI工具?
  • 得物App获评新奖项,正品保障夯实供应链创新水平
  • 今年双11,拼多多吹“新”风
  • tinyint数据库类型
  • SPA——MVC 与 MVVM - 2024最新版前端秋招面试短期突击面试题【100道】
  • 【测试工具】通过Jmeter压测存储过程
  • Git学习记录