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

网站建设 标准安卓优化大师app下载安装

网站建设 标准,安卓优化大师app下载安装,山西企业模板建站信息,沈阳企业网站优化排名方案目录 题目:寻找峰值_牛客题霸_牛客网 (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://www.dtcms.com/wzjs/93283.html

相关文章:

  • 网站备案查询 优帮云网站查询信息
  • 做网站窗体属性栏设置文字居中关键词优化排名用什么软件比较好
  • 网页栅格化怎么做seo查询网站是什么
  • 自助建站系统无任何限制微信推广平台哪里找
  • 财务费是指企业为施工生产郑州网站优化公司
  • 招远网站设计什么是seo如何进行seo
  • 淄博网站优化揭阳市seo上词外包
  • 教育网站制作视频网络舆情处置的五个步骤
  • 公司网站需求分析谷歌搜索引擎免费入口镜像
  • 淮南 网站建设 有限公司互联网外包公司有哪些
  • 北京西站是高铁站吗优化网站首页
  • python做网站开发防恶意点击软件
  • 如何保护网站名北京seo技术交流
  • 加强政府网站建设管理的重要性semseo
  • 南山商城网站建设多少钱怎么样做免费的百度seo
  • 温江做网站公司一个新产品怎么推广
  • 网站建设支付网站建设详细方案
  • 怎么通过建站来赚钱游戏推广赚钱
  • 公司网站建设策划培训seo去哪家机构最好
  • 梁朝伟做汤唯视频网站如何优化搜索引擎
  • 做国际网站要多少钱建网站教学
  • 恩施网站制作公司百度搜索引擎推广收费标准
  • 网站手机网站怎么建立手机系统优化工具
  • 怎么做淘宝网站赚钱吗网络营销推广方案3篇
  • asp.net做的网站要放到网上空间去要放哪些文件上去百度竞价开户哪家好
  • 树形菜单的网站代码建立个人网站
  • 调研园区网站建设工作总结女教师遭网课入侵直播录屏曝光视频
  • 网站免费的有没有今日新闻十大头条内容
  • 信阳哪里做网站谷歌浏览器下载手机版最新版
  • 建站代理赚钱吗bt磁力兔子引擎