Day34 贪心算法part03

K次取反后最大化的数组和

python 复制代码
for num in nums:
            if k == 0:
                break
            if num < 0:
                num = -num
                k -= 1

这种直接遍历元素的赋值的话不改变数组里面的数!

得写成下面这个样子

python 复制代码
for i in range(len(nums)):
            if k == 0:
                break
            if nums[i] < 0:
                nums[i] = -nums[i]
                k -= 1
python 复制代码
A.sort(key=lambda x: abs(x), reverse=True)  # 第一步:按照绝对值降序排序数组A

这个按绝对值排序的没见过,学一下

加油站

暴力法

如何控制起点?That is brilliant

python 复制代码
rest > 0 && index != i

index = (index + 1) % len(gas)

贪心法

贪心算法完全想不到啊

python 复制代码
class Solution:
    def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
        if sum(gas) < sum(cost):
            return -1
        
        curSum = 0
        start = 0
        for i in range(len(cost)):
            curSum += gas[i] - cost[i]

            if curSum < 0:
                start = i + 1
                curSum = 0
        
        return start
        

Candy

要一边一边地比

不要同时比较两边

maya还要改变遍历顺序这谁能想得到

相关推荐
汀、人工智能3 分钟前
[特殊字符] 第50课:最大路径和
数据结构·算法·数据库架构·图论·bfs·最大路径和
啦啦啦!6 分钟前
项目环境的搭建,项目的初步使用和deepseek的初步认识
开发语言·c++·人工智能·算法
AI成长日志6 分钟前
【笔面试算法学习专栏】链表操作·基础三题精讲(206.反转链表、141.环形链表、21.合并两个有序链表)
学习·算法·面试
算法鑫探9 分钟前
2025 图形(蓝桥杯十六届C组程序题 C 题)
c语言·数据结构·算法·新人首发
田梓燊13 分钟前
leetcode 54
算法·leetcode·职场和发展
wuweijianlove18 分钟前
算法性能优化中的编译器指令重排影响的技术4
算法
沉鱼.4422 分钟前
第十五届题目
linux·运维·算法
我头发多我先学26 分钟前
C++ STL vector 原理到模拟实现
c++·算法
机器学习之心30 分钟前
信号分解和小波阈值联合降噪 | NRBO-FMD基于牛顿拉夫逊算法优化特征模态分解+皮尔逊系数+小波阈值降噪+信号重构,MATLAB代码
算法·matlab·重构·nrbo-fmd·特征模态分解
Lauren_Blueblue32 分钟前
第十六届蓝桥杯省赛Python研究生组-F串
python·算法·蓝桥杯·算法基础