获得徽章 0
51. 和的逆运算问题
首先对 sums 数组进行排序。确定最小数:最小的和一定是两个最小的数相加的结果。假设这两个最小的数是 a 和 b,那么 a + b 就是 sums 数组中的最小值。
递归推导:从 sums 中移除 a + b,然后继续寻找下一个最小的和,直到找到所有的数。
验证结果:如果推导出的数与 sums 中的和一致,则说明推导正确;否则,输出 "Impossible"。
展开
评论
110. 小M的能力选择挑战
使用动态规划,状态转移方程:
对于每种能力 array[i],我们有两种选择:
不购买该能力:dp[i][j][k] = dp[i-1][j][k]
购买该能力:dp[i][j][k] = max(dp[i][j][k], dp[i-1][j-c][k-s] + d),但需要确保 k-s >= 0
dp[0][j][k] = 0,表示没有购买任何能力时,攻击力为0。
展开
评论
90. 奇妙货币交易问题
初始化:创建一个布尔数组 dp,其中 dp[i] 表示是否可以用给定的货币面值组合出总价 i
dp[0] = true,因为总价为 0 时不需要任何货币
评论
38.组成字符串ku的最大次数
hashmap存储,看有多少个k和u,取最少的那个,短板效应
评论
186.小M的多任务下载器挑战
使用列表按时间排序,遍历
评论
49.红包运气排行榜
使用 Collections.sort 方法,并提供一个自定义的比较器(Comparator),该比较器首先比较金额(降序),如果金额相同,则比较输入顺序(升序)
评论
56. 贪心猫的鱼干大分配
使用一个数组 fish 来记录每只猫分配到的鱼干数量,遍历比较:从左到右遍历猫的等级数组,调整鱼干数量,计算总量
评论
48. a替换函数
使用 StringBuilder,遍历字符串替换字符
评论
34. 游戏排名第三大的分数
使用TreeSet来存储不同的分数,将数组中的每个分数添加到 TreeSet 中,如果 TreeSet 的大小大于等于 3,则返回第三大的元素否,则,返回 TreeSet 中的最大元素。
评论
22. 最少字符操作次数
map统计。
统计频率:遍历字符串,更新数组中的频率。
计算操作次数:
对于每个字符,如果它的频率大于1,则计算需要多少次操作才能将其频率减少到1。
累加所有字符的操作次数。
展开
评论
28. 我好想逃缺逃不掉
主要思路是反向搜索:从出口开始反向搜索,标记所有可以到达出口的位置
评论
12. 最大UCC子串计算
使用动态规划(DP),可以使用一个二维数组 dp[i][j],其中 i 表示当前字符串的长度,j 表示当前的编辑距离。dp[i][j] 表示在当前字符串长度为 i 且编辑距离为 j 的情况下,最多能包含多少个 "UCC" 子串。
评论
下一页
个人成就
文章被点赞 27
文章被阅读 679
掘力值 528
收藏集
4
关注标签
15
加入于