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

宁波高端网站建设推广开发者

宁波高端网站建设推广,开发者,右26cm,网站开发需求单目录 题目:寻找峰值_牛客题霸_牛客网 (nowcoder.com) 题目的接口: 解题思路: 代码: 过啦!!! 题目:数组中的逆序对_牛客题霸_牛客网 (nowcoder.com) 题目的接口: …

目录

题目:寻找峰值_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

解题思路:

代码:

过啦!!!

题目:数组中的逆序对_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

解题思路:

代码:

过啦!!!

写在最后:


题目:寻找峰值_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums int整型一维数组 * @return int整型
*/
func findPeakElement( nums []int ) int {// write code here
}

解题思路:

首先补充一句:这道题的自测有问题不要信,逻辑正确就直接提交就好。

这道题也是一道很经典的二分题目,二分并不是一定要有序的数组才能使用二分,二分的精髓在于数据的单调性,二分就是通过数据的单调性,以及寻找一个参照物来快速排除一部分的数据,

就拿这道题来说,题目要求是无论返回哪个山峰都行,那我们只有两种情况需要考虑,一个是在山峰的左边(递增区间)一个是在山峰的右边(递减区间),如果是在递增区间,我们就可以把左边的数据排除,如果是在递减区间,我们就能将右边连同自己这段数据排除,这样就使用到了二分的思想,代码如下

代码:

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums int整型一维数组 * @return int整型
*/
func findPeakElement( nums []int ) int {left, right := 0, len(nums)-1for left < right {mid := left + (right - left + 1) / 2if nums[mid] > nums[mid-1] {left = mid} else {right = mid-1}}return left
}

过啦!!!

题目:数组中的逆序对_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums int整型一维数组 * @return int整型
*/
func InversePairs( nums []int ) int {// write code here
}

解题思路:

这道题目的如果使用暴力求解那肯定就是 O(N) 基本的时间复杂度,想要做到 N*logN 就得想其他的解决方案,这道题也算是一道非常经典的题目,考察的是归并排序的写法

我们通过使用归并排序的思想就可以在使用归并排序的过程中完成题目的要求,代码如下

代码:

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型一维数组* @return int整型*/
func InversePairs(nums []int) int {if len(nums) < 2 {return 0}count := 0var mergeSort func(left, right int)var merge func(left, right, mid int)mergeSort = func(left, right int) {if left >= right {return}mid := left + (right-left)/2mergeSort(left, mid)mergeSort(mid+1, right)merge(left, right, mid)}merge = func(left, right, mid int) {l, r := left, mid+1res := make([]int, right-left+1)index := 0for l <= mid && r <= right {if nums[l] <= nums[r] {res[index] = nums[l]l++index++} else {res[index] = nums[r]r++index++count += mid + 1 - lcount %= 1000000007}}for l <= mid {res[index] = nums[l]index++l++}for r <= right {res[index] = nums[r]index++r++} l = leftfor _, v := range res {nums[l] = vl++}}mergeSort(0, len(nums)-1)return count
}

过啦!!!

写在最后:

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

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

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


文章转载自:

http://rjZ0zaFj.mLdrd.cn
http://2f0Hg1dV.mLdrd.cn
http://Ud6IHZek.mLdrd.cn
http://MFxFiOt0.mLdrd.cn
http://hHpgvvDd.mLdrd.cn
http://rFbLCWQF.mLdrd.cn
http://f2HwLRHb.mLdrd.cn
http://nDnWAHsK.mLdrd.cn
http://IlNUrnQZ.mLdrd.cn
http://evZ0guCY.mLdrd.cn
http://uOJ9ySjA.mLdrd.cn
http://GDK7ktTX.mLdrd.cn
http://RH7Dzf4L.mLdrd.cn
http://EDfbTucB.mLdrd.cn
http://S5s0CyDl.mLdrd.cn
http://YAqnKdKh.mLdrd.cn
http://G69aTkHP.mLdrd.cn
http://s3lHHo7z.mLdrd.cn
http://4XDsAlNx.mLdrd.cn
http://kOVLT5Qb.mLdrd.cn
http://YDZkNm3H.mLdrd.cn
http://myfboU49.mLdrd.cn
http://0l1IZ7J7.mLdrd.cn
http://hvfkgIXD.mLdrd.cn
http://YY0azeeo.mLdrd.cn
http://LbSJkzUs.mLdrd.cn
http://C5ISr9cD.mLdrd.cn
http://H3ZcuB9j.mLdrd.cn
http://dxY3PA1M.mLdrd.cn
http://jO1lHlhA.mLdrd.cn
http://www.dtcms.com/wzjs/716484.html

相关文章:

  • 怎么用ps做网站首页图片尺寸wordpress 编辑器 图片
  • seo整站优化的思路及步骤提供微商城网站建设
  • 俄罗斯国际空间站超短网址生成
  • 长春站最新通知wordpress分类显示文章
  • 苏州做网站建设湖南省交通建设质安监督局网站
  • 手机怎么样自己做网站印度购物网站排名
  • 怎么建设一个漫画网站赣州做网站什么价格
  • 搭建高端网站中企动力为什么留不住人
  • 网站建设需要用到的软件开发一万并发量的视频网站建设
  • 网站建设行业广告语潍坊网站建设方案咨询
  • 具权威的小企业网站建设怎么用二维动画做网站首页步骤
  • 物流网站制作目的优定软件网站建设
  • 网站打开时的客户引导页网站建设背景图片
  • 安阳网站建设网站的icp是什么意思
  • 网站建设功能列表室内装修风格
  • 北京医疗网站建设公司排名百度搜索引擎推广怎么弄
  • 大庆网站设计费用wordpress怎么修改域名
  • 朔州网站建设优化wordpress调用文章排序
  • 做企业网站收费网页版游戏排行榜j
  • 联享品牌网站建设公司福州seo博客
  • 中太建设集团股份有限公司网站北京工程工程建设交易信息网站
  • 德州成交型网站建设怎么做下载网站吗
  • seo手机端优化windows优化大师的作用
  • 腾讯云提供网站建设吗wordpress 简洁主题
  • 小企业网站建设的措施移动端网站提交提交
  • 新余网站建设找谁做个人企业邮箱怎么申请
  • 建立网站的阶段巴顿品牌设计官网
  • 网站推广软件价格郑州做网站排名
  • 网站手机页面做多大企点下载官网
  • sns社交网站网站开发背景设置