55. 跳跃游戏 golang

55. 跳跃游戏

给定一个非负整数数组,你最初位于数组的第一个位置。

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个位置。

示例 1:

输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。
示例 2:

输入: [3,2,1,0,4]
输出: false
解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。

这个才是正确的解法,上次自己硬写出来,其实是“错误”的解法

func canJump(nums []int) bool {length := len(nums) - 1for i := length-1; i >=0 ; i-- {if nums[i]+i >= length {length = i}}return length <= 0
}

Me(2020-02-09)

  1. 第一个元素不能是0
  2. 如果到了最后一个元素就是0,那么也是true
func canJump(nums []int) bool {start := nums[0]for i:=0; i<len(nums); i++ {if nums[i] >= start && nums[i] != 0 {start = nums[i]} else {start--if start <= 0 && i!=len(nums)-1{return false}}}return true
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

134. 加油站 golang

Me 1.油量之和大于油费之和(不够用的汽油debts大于多出来的汽油remains) 2.车程转成一个圈。如果车无法开到i1那么起点就是i1(gas[i] < cost[i] -->i1) func canCompleteCircuit(gas []int, cost []int) int {remains, debts, start : 0, 0 ,0for i,g : range gas {remai…

从mice到missForest:常用数据插值方法优缺点

一、引言 数据插值方法在数据处理和分析中扮演着至关重要的角色。它们可以帮助我们处理缺失数据&#xff0c;使得数据分析更加准确和可靠。数据插值方法被广泛应用于金融、医疗、社会科学等领域&#xff0c;以及工程和环境监测等实际应用中。 在本文中&#xff0c;我们将探讨三…

605. 种花问题 golang 切片越界问题和逻辑操作符的思考

关于切片越界的问题&#xff0c;这个解法给了参考 测试用例 0,0,1,0,1 从这个测试用例中&#xff0c;我们可以看到一次性就写出下面的if语句是有一定难度的 第一个元素就是0&#xff0c;所以第一个条件成立后&#xff0c;进行i-1判断就越界了。但是这个0是可以改为1的&#…

376. 摆动序列 golang

376. 摆动序列 求取所有的差值保存起来。然后再判断一正一负的规律是否成立 var flag int func wiggleMaxLength(nums []int) int {if len(nums) < 1 {return 0}if len(nums) 1 {return 1}var res intresult : make([]int,len(nums))m : 0for i:0; i<len(nums)-1; i {if…

392. 判断子序列 golang 关于布尔类型返回值判断的思考

Me 1.取每一个字符串的字符进行比较。 2.相等就i&#xff0c;j&#xff0c;不相等就j 3.如果s空了&#xff0c;那么就是true。如果t字符串空了那么。。。有很多种情况。所以这个解法不好。 但是如果把返回条件设置成下面这个答案就很好 解法 这个的巧妙之处在于返回值判断是否…

402. 移掉K位数字 golang

测试用例 示例 2 : 输入: num “10200”, k 1 输出: “200” 解释: 移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。 示例 3 : 输入: num “10”, k 2 输出: “0” 解释: 从原数字移除所有的数字&#xff0c;剩余为空就是0。 Me 如果下一个元素比当前栈元素…

121. 买卖股票的最佳时机 golang

Me 记录最大值最小值 在更新最小值的时候&#xff0c;我们忽略前面的最大值&#xff0c;并重新以当前最小值为起点&#xff01;&#xff08;但是可能目前的收益最多&#xff0c;所以创建变量保存收入&#xff09;在产生最大值的时候&#xff0c;我们需要计算当前利润是否大于历…

53. 最大子序和 golang (动态规划与贪心算法)

题目 给定一个整数数组 nums &#xff0c;找到一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大&#xff0c;为 6。 进阶: 如果…

665. 非递减数列 golang 切片越界问题的探讨(二)

思路 给定一个长度为 n 的整数数组&#xff0c;你的任务是判断在最多改变 1 个元素的情况下&#xff0c;该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的&#xff1a; 对于数组中所有的 i (1 < i < n)&#xff0c;满足 array[i] < array[i 1]。 示…

70. 爬楼梯 golang 斐波那契数列

题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正整数。 示例 1&#xff1a; 输入&#xff1a; 2 输出&#xff1a; 2 解释&#xff1a; 有两种方法可以爬…

Time, Clocks, and the Ordering of Events in 翻译

summary 第一次翻译论文&#xff0c;真的翻译的很烂。给我的体会是&#xff1a; 你需要很强的英文翻译水平&#xff0c;注意是翻译水平不是英文水平。你需要有极强的专业知识水平&#xff08;专业大佬&#xff09;&#xff0c;这样才能从一个宏观的角度理解论文&#xff0c;给一…

golang plugin模块的使用

共享库工具 Currently plugins are only supported on Linux and macOS 通过plugin我们可以很方便的对于不同功能加载相应的模块并调用相关的模块&#xff1b;也可以针对不同语言&#xff08;英文、汉语、德语……&#xff09;加载不同的语言so文件&#xff0c;进行不同的输出&…

6.824 MapReduce lab1 2020(一)

文章目录MIT 6.824 分布式系统 lab1&#xff1a;MapReduceNoteswordcounts MapReduce Model look likea simple sequential mapreduce implementation(mrsequential.go)MIT 6.824 分布式系统 lab1&#xff1a;MapReduce 文档 https://pdos.csail.mit.edu/6.824/labs/lab-mr.ht…

golang并发官方示例

文章目录GoroutinesChannelsBuffered ChannelsRange and CloseSelectfatal error: all goroutines are asleep - deadlock!Default Selectionsync.MutexExercise: Web Crawler官方网站Goroutines A goroutine is a lightweight thread managed by the Go runtime. go f(x, y,…

6.824 RPC lesson2 2020(一)

resources https://pdos.csail.mit.edu/6.824/notes/crawler.go https://pdos.csail.mit.edu/6.824/notes/l-rpc.txt https://pdos.csail.mit.edu/6.824/notes/kv.go RPC_concept 19 | 分布式通信之远程调用&#xff1a;我是你的千里眼&#xff08;https://time.geekbang.or…

6.824 RPC lesson2 2020(二)

Use RPC to make a kv storage server Go example: kv.go on schedule page A toy key/value storage server – Put(key,value), Get(key)->value Uses Go’s RPC library Common: Declare Args and Reply struct for each server handler. Client: connect()s Dial() cre…

35. 搜索插入位置 golang

题目 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出…

191. 位1的个数 golang

题目 位1的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数&#xff08;也被称为汉明重量&#xff09;。 示例 1&#xff1a; 输入&#xff1a;00000000000000000000000000001011 输出&#xff1a;3 解释&#…

445. 两数相加 II golang

题目 两数相加 II 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理&#xf…