
贪心算法
文章平均质量分 62
刷题
AAA废品回收站陈师傅
中年大叔奋斗记
展开
-
4.摆动序列
其中一个是 [1, 17, 10, 13, 10, 16, 8] ,各元素之间的差值为 (16, -7, 3, -3, 6, -8)。仅有一个元素或者含两个不等元素的序列也视作摆动序列。可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。整个序列均为摆动序列,各元素之间的差值为 (6, -3, 5, -7, 3)。细节:代码循环中最后一个点没有处理,因为最后一个点右边没有值,这个点没有右边趋势。波峰:点左边趋势上升,右边下降或者持平。=0未知(最开始的点左边设置为0)原创 2024-09-22 21:58:29 · 327 阅读 · 0 评论 -
3. 最大数
重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。返回值类型为void以及函数体代码可以推导出返回值类型可以不写。输出结果可能非常大,所以你需要返回一个字符串而不是整数。包含该头文件可以直接使用转换函数to_string()[变量使用说明符号] (参数列表)2.C++11Lambda表达式。原创 2024-09-22 21:26:30 · 278 阅读 · 0 评论 -
2.将数组和减半的最少操作次数
给你一个正整数数组nums。每一次操作中,你可以从nums中选择一个数并将它减小到一半。(注意,在后续操作中你可以对减半过的数继续执行操作)请你返回将nums数组和减少一半的操作数。3初始 nums 的和为 5 + 19 + 8 + 1 = 33。以下是将数组和减少至少一半的一种方法:选择数字 19 并减小为 9.5。选择数字 9.5 并减小为 4.75。选择数字 8 并减小为 4。最终数组为 [5, 4.75, 4, 1] ,和为 5 + 4.75 + 4 + 1 = 14.75。原创 2024-09-22 20:35:48 · 931 阅读 · 0 评论 -
1.柠檬水找零
20 美元,我们需要找回 15 美元,此时有两种组合方式,一种是一张 10 美元和 5 美元的钞票,一种是 3 张 5 美元的钞票,如果两种组合方式都没有,则无法正确找零。对于接下来的 2 位顾客,我们收取一张 10 美元的钞票,然后返还 5 美元。第 5 位顾客那里,我们找还一张 10 美元的钞票和一张 5 美元的钞票。第 4 位顾客那里,我们收取一张 10 美元的钞票,并返还 5 美元。前 2 位顾客那里,我们按顺序收取 2 张 5 美元的钞票。10 美元,找回 5 美元,如果没有 ,则无法正确找零。原创 2024-09-22 20:08:38 · 310 阅读 · 0 评论