- 博客(35)
- 收藏
- 关注
原创 贪心算法(14)(java)无重叠区间
你需要移除两个 [1,2] 来使剩下的区间没有重叠。需要移除区间的最小数量,使剩余区间互不重叠。移除 [1,3] 后,剩下的区间没有重叠。题目:给定一个区间的集合。只在一点上接触的区间是。解法:排序+贪心算法。
2025-03-31 20:51:51
310
原创 贪心算法(13)(java)合并区间
区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].2.根据排序后的结果,总结规律,进而得出解决这个问题的策略;一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。1.排序:左端点或右端点排序;3.贪心策略:求并集。
2025-03-31 17:32:06
322
原创 贪心算法(12))(java)坏了的计算器
给定两个整数 startValue 和 target。返回显示数字target所需的最小操作数。解释: 先进行双倍运算,然后再进行递减运算{2->4-> 3},输入: startValue = 2,target =3。·递减(Decrement):将显示屏上的数字减1.·双倍(Double):将显示屏上的数字乘2;解法:正难则反+贪心。
2025-03-26 19:28:14
704
原创 贪心算法(11)(java)加油站
你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油 cost[i]升。从3号加油站(索引为3 处)出发,可获得4升汽油。输入:gas = [1,2,3,4,5],cost = [3,4,5,1,2]开往 3号加油站,你需要消耗5升汽油,正好足够你返回到3号加油站。开往 2 号加油站,此时油箱有6-4+3=5升汽油。开往 4号加油站,此时油箱有4-1+5=8升汽油。开往 1号加油站,此时油箱有7-3+2=6升汽油。开往0号加油站,此时油箱有8-2+1=7升汽油。
2025-03-24 20:32:35
681
原创 贪心算法(10)(java)跳跃游戏
给定一个长度为n的0索引整数数组nums。初始位置为nums [0]。每个元素nums[i]表示从索引i向前跳转的最大长度。返回到达 nums[n-1)的最小跳跃次数。生成的测试用例可以到达 nums [n- 1]。解法:1.贪心策略(不推荐)
2025-03-20 17:11:36
796
原创 贪心算法(9)(java)最优除法
但是,你可以在任意位置添加任意数目的括号,来改变算数的优先级。你需要找出怎么添加括号,以便计算后的表达式的值为最大值。给定一正整数数组 nums,nums中的相邻整数将进行浮点除法。例如,[2,3.4]->2/3/4.例如,nums =[2,3,4],我们将求表达式的值“2/3/4"。注意:你的表达式不应该包含多余的括号。贪心策略:除了前两个数以外,其余数全放在分子上即可。暴力解法->递归->记忆化搜索->动态规划。输出:”1000/(100/10/2)”输入:【1000,100,10,2】
2025-03-19 19:28:46
555
原创 贪心算法(8)(java)最长回文串
题目:给定一个包含大小写字母和小写字母的字符串s,返回通过这些字母构造的最长回文串。输入s=”abccccdd"输出7。可以构造最长回文串是“dccaccd"
2025-03-18 22:56:12
67
原创 贪心算法(7)(java) 分发饼干
对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸 s[j]。如果 s [j] >= g[i],我们可以将这个饼干了分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。题目:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。排序,针对当前胃口最小的孩子,然后挑选饼干;2.不能满足,直接删掉这个饼干;1.能满足,直接喂;
2025-03-17 20:15:55
1050
2
原创 贪心算法(6)(java)优势洗牌
题目: 给定两个长度相等的数组nums1和nums2,nums1相对于nums2的优势可以满足nums1【1】>nums[2]的索引的数目来描述。1.如果比不过,就去拖累到对main最强的哪一个;2.如果能比过,那就直接比;返回nums1的任意排列,使其相对于nums2的透视最大化呀。
2025-03-14 10:35:10
914
原创 贪心算法(5)(java)k次取反后最大化的数组和
题目:给定一个整数数组 `nums` 和一个整数 `k`,你可以进行最多 `k` 次取反操作。每次操作可以选择数组中的一个元素并将其取反(即 `x` 变为 `-x`)。最终返回经过 `k` 次取反操作后,数组可能的最大总和。...奇数:挑选当前数组中最小的数,变成负数。设:整个数组中负数的个数是m个。: 把前k小负数转化成正数。:把所有负数全部转化成正数。..先把所有负数变成正数。...偶数:直接忽略。
2025-03-11 20:01:53
519
原创 贪心算法 (3)(java)摆动序列。
给定一个整数数组 `nums`,找到其中最长的摆动子序列的长度。摆动子序列是指序列中相邻元素的差值符号交替变化(即正负交替)。贪心:估计出所有的波峰以及波谷的个数。
2025-02-26 12:22:15
351
1
原创 贪心算法(java)(2) 将数组中元素减半直到元素的总和减半的最小操作次数。
【代码】贪心算法(java)(2) 将数组中元素减半直到元素的总和减半的最小操作次数。
2025-02-19 17:59:02
395
原创 贪心算法(java)(1) 柠檬水找零。
如果顾客支付20美元,优先使用10美元和5美元的组合进行找零(如果有的话)。如果手头没有5美元钞票,返回 `false`。否则,减少 `five` 的计数并增加 `ten` 的计数。每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。1. 初始化:使用两个变量 `five` 和 `ten` 来记录手头的5美元和10美元钞票的数量。3. **返回结果**:如果所有顾客都能成功找零,返回 `true`。- 如果顾客支付5美元,直接收取,增加 `five` 的计数。注意,一开始你手头没有任何零钱。
2025-02-13 13:00:28
683
原创 计算分数的值(1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100) 的值
【代码】计算分数的值(1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100) 的值。
2025-02-10 12:52:45
92
原创 用java写一个水仙花数
求出0~n之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 身,如;153=1^3+5^3+3^3,则153是一个“水仙花数“。
2025-02-10 11:32:12
384
原创 用Java写水仙花数
求出0~n之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本 身,如;153=1^3+5^3+3^3,则153是一个“水仙花数“。
2025-02-10 11:29:29
188
原创 用Java代码编写数一下 1到 100 的所有整数中出现多少个数字9
【代码】用Java代码编写数一下 1到 100 的所有整数中出现多少个数字9。
2025-02-08 12:46:19
70
原创 用Java代码判断一个数是不是素数
法三:任何一个数字n,都可以写成 n = a*b的形式。那么必然会有一个数字是小于等于根号n的。法二:任何一个数字n,都可以写成 n = a*b的形式。那么必然会有一个数字是小于等于2/n的。法1:如果一个数字是素数,那么就只能整除1和自己本身。
2025-02-08 12:29:25
242
原创 利用java生成构造函数
System.out.println("不带参数的构造方法......");System.out.println("不带参数的构造方法......");//利用idea的高效开发效率,右键选生成,选择构造函数,直接生成。
2025-01-26 10:23:59
149
原创 一个最基础的Java类(狗吃狗粮的代码)
System.out.println(name + "吃狗粮");dog.name = "小黑";dog.name = "小黄";
2025-01-16 19:14:54
195
原创 一个用java代码实现的猜数字游戏
System.out.println("请输入你要猜的数字");System.out.println("小了");System.out.println("等于");System.out.println("大了");
2025-01-16 19:10:22
245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人