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

算法训练营day28(补), 贪心算法2

//122. 买卖股票的最佳时机 II

func maxProfit(prices []int) int {

  result := 0 //利润总和

  for i := 1; i < len(prices); i++ {

    if prices[i]-prices[i-1] > 0 {

      result = result + (prices[i] - prices[i-1])

    }

  }

  return result

}

//55. 跳跃游戏

func canJump(nums []int) bool {

  step := 0  //步数

  for i := 0; i <= step; i++ {

    if i+nums[i] > step {

      step = i + nums[i]

    }

    if step >= len(nums)-1 {

      return true

    }

  }

  return false

}

//45. 跳跃游戏 II

func jump(nums []int) int {

  cur := 0  //当前指针

  next := 0 //下一个指针

  result := 0 //步骤统计

  for i := 0; i < len(nums); i++ {

    if i+nums[i] > next {

      next = i + nums[i]

    }

    if i == cur && cur != len(nums)-1 {

      result++

      cur = next

      if cur >= len(nums)-1 {

        return result

      }

    } else if i == cur {

      return result

    }

  }

  return result

}

http://www.lryc.cn/news/301780.html

相关文章:

  • Vue核心基础4:绑定样式、条件渲染、列表渲染
  • go-zero读取mysql部分字段
  • 反转一个单链表
  • 拿捏c语言指针(中)
  • 鸿蒙语言ArkTS(更好的生产力与性能)
  • VBA技术资料MF120:打印固定标题行列
  • MongoDB聚合运算符:$add
  • 《剑指Offer》笔记题解思路技巧优化 Java版本——新版leetcode_Part_4
  • 数据库第四次实验
  • 基于PPNSA+扰动算子的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图
  • UnityShader——06UnityShader介绍
  • 人工智能学习与实训笔记(一):零基础理解神经网络
  • LeetCode刷题小记 一、【数组】
  • iOS总体框架介绍和详尽说明
  • 【C++】const与constexpr详解
  • 蓝桥杯:日期统计讲解(C++)
  • Python re.findall()中的正则表达式包含多个括号时的返回值——包含元组的列表
  • Python——列表
  • 无人机图像识别技术研究及应用,无人机AI算法技术理论,无人机飞行控制识别算法详解
  • 清华AutoGPT:掀起AI新浪潮,与GPT4.0一较高下
  • 人工智能学习与实训笔记(二):神经网络之图像分类问题
  • SSM框架,spring-aop的学习
  • 【设计模式】4、策略模式
  • 【C++学习手札】多态:掌握面向对象编程的动态绑定与继承机制(深入)
  • 【机构vip教程】Android SDK手机测试环境搭建
  • 2024.2.18
  • Haproxy实验
  • CSRNET图像修复,DNN
  • 004 - Hugo, 分类
  • Vue3之ElementPlus中Table选中数据的获取与清空方法