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

西宁网站制作哪家好114网址大全

西宁网站制作哪家好,114网址大全,设计素材网站无版权,免费无线134.加油站 力扣 这是一个很好的问题。这个思路其实基于一种贪心策略。我们从整个路径的油量变化来理解它,结合一个直观的“最低点法则”,来确保找到正确的起点。 问题的核心:油量差值的累积 对于每个加油站,我们有两个数组&…

134.加油站 力扣

在这里插入图片描述

这是一个很好的问题。这个思路其实基于一种贪心策略。我们从整个路径的油量变化来理解它,结合一个直观的“最低点法则”,来确保找到正确的起点。

问题的核心:油量差值的累积

对于每个加油站,我们有两个数组:gas(加油站提供的油量)和 cost(从当前加油站到下一个加油站所需的油量)。我们需要找到一个起点,使得可以绕行一圈回到该加油站,途中油量永远不为负数。

直观理解:寻找最低油量的原因

  1. 油量累积的曲线
    假设我们从某个加油站开始遍历整个环状加油站,每次计算当前的剩余油量累积,记为 s(当前剩余油量)。每当我们经过一个加油站,我们就根据 gas[i] - cost[i] 来更新 s,代表当前加油站加上油之后,减去到达下一个加油站的消耗。

  2. 最低点的特殊性
    在整个环中,油量累积 s 可能会上升或下降。如果我们画一条累积油量的曲线,从某个加油站出发计算到达其他加油站的油量变化,这条曲线中可能会有一些高点和低点。

    • 关键在于最低点:最低点代表了整个旅程中油量最匮乏的时刻。如果我们从其他加油站出发而不是这个最低点,意味着在到达最低点之前,我们已经有了更多的油量消耗,可能会在到达最低点之前出现负油量。因此,我们想要绕一圈成功的唯一可能,是从最低点之后开始,这样可以“错开”油量最紧张的时刻。
  3. 贪心选择最低点作为起点
    如果从最低点之后的某个加油站 i + 1 作为起点开始,意味着我们会在最低油量的地方重新开始计算油量变化,这样就可以确保从那时起油量逐步上升。

    换句话说,从最低点开始意味着我们从油量的最低点出发,此时“亏欠”的油量已经到达最低,我们后续不可能再遇到更差的情况,因此可以放心地从这里开始。

举例帮助理解

假设我们有以下油量情况:

  • gas = [1, 2, 3, 4, 5]
  • cost = [3, 4, 5, 1, 2]

计算每个加油站的 gas[i] - cost[i] 的累积和:

  • 第一个加油站开始:s = 1 - 3 = -2
  • 第二个加油站:s = -2 + 2 - 4 = -4
  • 第三个加油站:s = -4 + 3 - 5 = -6
  • 第四个加油站:s = -6 + 4 - 1 = -3
  • 第五个加油站:s = -3 + 5 - 2 = 0

最低点是 -6,发生在第三个加油站之后,因此从第四个加油站(即 i + 1)作为起点开始,油量累积会逐步增加,最终可以保证绕一圈回到起点。

结论

在代码中,min_s 记录了油量的最低点,而 ans 则记录了从最低点之后开始的加油站。这样贪心地选择最低油量的下一个加油站作为起点,保证了我们可以绕完整个环。

从最低油量点的下一个加油站出发,可以让我们避免在已经处于最差的油量状态时出发,从而确保可以顺利走完一整圈。


```python
class Solution:def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:n,m,index=len(gas),0,0if sum(gas)<sum(cost):return -1for i in range(n):m+=gas[i]-cost[i]if m<0:index=i+1m=0return index
## 48.旋转图像
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/90bbb693cb2e48248010d18637ae7079.png)

class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
“”"
Do not return anything, modify matrix in-place instead.
“”"
n=len(matrix[0])
for i in range(n//2):
for j in range((n+1)//2):
tmp=matrix[i][j]
matrix[i][j]=matrix[n-1-j][i]
matrix[n-1-j][i]=matrix[n-1-i][n-1-j]
matrix[n-1-i][n-1-j]=matrix[j][n-1-i]
matrix[j][n-1-i]=tmp


class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
n = len(matrix)
# 深拷贝 matrix -> tmp
tmp = copy.deepcopy(matrix)
# 根据元素旋转公式,遍历修改原矩阵 matrix 的各元素
for i in range(n):
for j in range(n):
matrix[j][n - 1 - i] = tmp[i][j]

作者:Krahets
链接:https://leetcode.cn/problems/rotate-image/solutions/1228078/48-xuan-zhuan-tu-xiang-fu-zhu-ju-zhen-yu-jobi/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


https://leetcode.cn/problems/rotate-image/solutions/1228078/48-xuan-zhuan-tu-xiang-fu-zhu-ju-zhen-yu-jobi
http://www.hkea.cn/news/38802/

相关文章:

  • 潍坊最早做网站的公司短链接生成网址
  • 东莞化工网站建设爱站网ip反域名查询
  • 做网站赚钱 2017哈尔滨关键词排名工具
  • 建设的网站首页微信怎么做推广
  • 建设网站导航百度信息流推广和搜索推广
  • 深圳室内设计公司招聘信息流广告优化
  • 旅游网站首页四种营销模式
  • 负责网站建设如何在百度发广告推广
  • 联通的网站是谁做的营销的主要目的有哪些
  • 衡阳微信网站地推的方法和技巧
  • 南阳做网站公司哪家好自动发外链工具
  • 潍坊网站制作最低价格网络营销案例有哪些
  • 做网站有谁做谷歌seo视频教程
  • 资深的网站推广完美日记网络营销策划书
  • 90设计网站免费素材网站seo培训
  • 整形美容网站源码上海seo优化bwyseo
  • 武威市住房和建设局网站百度app下载安装普通下载
  • 网站物理结构天津百度推广排名
  • 美容平台网站建设百度指数查询移动版
  • 工程公司手机网站建立网站怎么搞
  • 做网站软件wd惠州seo外包
  • 聊城做网站seo关键词分类
  • 网站做公司女生学网络营销这个专业好吗
  • 网络运营主要工作内容seo教程自学入门教材
  • 用其他商标在自己网站做宣传百度云网盘资源分享网站
  • 对商家而言网站建设的好处淘宝关键词查询工具哪个好
  • 做简单网站代码关键词推广价格
  • 做品牌折扣的网站百度推广的五大优势
  • 南宁比较有好的网站制作公司百度推广后台登录页面
  • 长沙企业网站排名优化windows优化大师和360哪个好