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

焦作市网站建设网站建设方案推广

焦作市网站建设,网站建设方案推广,水果网页制作模板,同城分类网站建设目录 题目:剑指 Offer 10- II. 青蛙跳台阶问题 - 力扣(LeetCode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 11. 旋转数组的最小数字 - 力…

目录

题目:剑指 Offer 10- II. 青蛙跳台阶问题 - 力扣(LeetCode)

题目的接口:

解题思路:

代码:

过啦!!!

题目:剑指 Offer 11. 旋转数组的最小数字 - 力扣(LeetCode)

题目的接口:

解题思路:

代码:

过啦!!!

写在最后:


题目:剑指 Offer 10- II. 青蛙跳台阶问题 - 力扣(LeetCode)

题目的接口:

func numWays(n int) int {}

解题思路:

这道题乍一看好像没什么思路,但是我们不妨把题目分析一下,跳 1,2,3 级台阶分别有多少种情况,然后再来探究规律,跳 1 级楼梯有一种方法,跳 2 级楼梯有两种方法(一步 2 级上去 + 一步 1 级上去),跳 3 级楼梯有三种方法,是哪三种?

如果第一步跳 1 级,就还剩下 2 级楼梯,跳 2 级楼梯有两种方法;如果第一步跳 2 级,就还剩下 1 级楼梯,跳 1 级楼梯有一种方法;2 + 1 = 3,所以跳 3 级楼梯有三种方法,发现没有,我们可以根据前面求出的两级楼梯的跳法来求出下一级的楼梯,

也就是我们可以用前面的状态推出后面的状态,这就可以用动态规划,在一刷剑指 Offer 的时候,我还是思考了蛮久这个问题的:【LeetCode】剑指 Offer(4)_戊子仲秋的博客-CSDN博客 这里把我当时的思考写的很详细了,如果没有看懂可以去看看。代码如下

代码:

func numWays(n int) int {if n == 0 {return 1}if n <= 2 {return n}dp := make([]int, 101)dp[1] = 1dp[2] = 2for i := 3; i <= 100; i++ {dp[i] = (dp[i-1] + dp[i-2]) % (1e9 + 7)} return dp[n]
}

过啦!!!

题目:剑指 Offer 11. 旋转数组的最小数字 - 力扣(LeetCode)

题目的接口:

func minArray(numbers []int) int {}

解题思路:

这道题我能想到两种方法,题目给的复杂度都可以过,一个是暴力枚举,直接找出最小值,一个是用二分,也就是推荐的低复杂度解法,这里我就先暴力一手:

func minArray(numbers []int) int {maxVal := 5000for _, v := range numbers {maxVal = min(v, maxVal)}return maxVal
}func min(a int, b int) int {if a > b {return b}return a
}

顺便吐槽一句,LeetCode 的 golang 编译器不是最新版,所以不支持 min 和 max 方法,必须吐槽两句,真是难受,搞得我写个暴力还得自己实现一个 min 方法来找最小值。

然后是二分查找,我个人认为二分查找的精髓在于两个,第一个是找到可以进行二分的单调性,这样我们可以确定这道题可以使用二分;第二个就是找到一个参照系来进行比对,而这道题我们可以选择左边,也可以选择右边作为参照,

就正常使用二分求解,唯一需要注意的点就是:比如:我选择右边作为参照对象,那使用右边元素进行比较的时候,如果出现相等的情况,我们就得让 right--,这样才能不陷入死循环。代码如下:

代码:

func minArray(numbers []int) int {left := 0right := len(numbers)-1for left < right {mid := left + (right - left) / 2if numbers[right] > numbers[mid] {right = mid} else if numbers[right] < numbers[mid] {left = mid + 1} else {right--}}return numbers[left]
}

过啦!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

http://www.tj-hxxt.cn/news/19825.html

相关文章:

  • 网站成功案例怎么做营业推广怎么写
  • 苏州网站建设系统电话网络营销主要做些什么
  • seo还有前景吗佛山外贸seo
  • 新变更营业执照注册号查了发现之前有备案过网站了沈阳专业seo排名优化公司
  • 手机wap网站定位二级域名注册
  • 淮安高端网站制作seo常用工具网站
  • 有了域名怎样做网站台州关键词优化推荐
  • 静态网站怎么做优化培训机构网站制作
  • seo优化的网站友链
  • 济南专业做网站公司哪家好内江seo
  • 品牌企业网站案例接广告的网站
  • wordpress 标题相同汕头seo
  • 苏州党员两学一做网站抖音账号权重查询
  • 企业门户网站需求厦门百度快速优化排名
  • 网站图片搜索技术哪里可以做安徽网络优化公司
  • 有了代刷网的源码怎么做网站做外贸怎么推广
  • 网站北京备案快吗百度收录查询接口
  • html5网站开发seo是一种利用搜索引擎
  • 扁平化网站模板重庆人力资源和社会保障网官网
  • 抚州做网站的公司网站百度收录
  • 横沥东莞网站建设友情链接有哪些
  • 黑龙江企业网站设计团队百度网盘怎么用
  • 长春做网站要多少钱网站关键词优化系统
  • wordpress图片模糊加载企业优化推广
  • 网站建设费开票收候开在哪个类别里百度招商加盟推广
  • 赣州做网站什么价格百度竞价推广开户费用
  • 东莞微信网站建设怎样怎么seo网站排名
  • 大型b2c网站网络优化这个行业怎么样
  • 狂人站群系统媒体平台
  • 浙江网站建设推广公司十大排行从事网络营销的公司