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

济南国迅网站建设公司怎么样国际新闻头条今日要闻

济南国迅网站建设公司怎么样,国际新闻头条今日要闻,1688属于b2b平台吗,小说网站怎么推广说明 此文是课程https://edu.csdn.net/course/detail/38771 的讲义。 源码下载:https://download.csdn.net/download/he_zhidan/88458478 题目 长度为n的数组nums,请返回任意一峰值的索引。符合以下条件之一i便是峰值的索引。 n等于1 i等于0 n>…

 说明

此文是课程https://edu.csdn.net/course/detail/38771 的讲义。

源码下载:https://download.csdn.net/download/he_zhidan/88458478

题目

长度为n的数组nums,请返回任意一峰值的索引。符合以下条件之一i便是峰值的索引。

n等于1

i等于0

n>1

i等于0

nums[i] >nums[i+1]

n>1

i等于n-1

nums[i] > nums[i-1]

0<i<n-1

nums[i]>nums[i-1]

nums[i]>nums[i+1]

题目保证nums[i]不等于nums[i+1]。

分析

假定

nums[left,r)符合nums[left]>nums[left-1],且nums[r-1]>nums[r]。显然初始情况nums[0,n)符合。

推论一:如果[left,r)的长度为1,则left就是返回的索引。

推论二:假定left < mid<r。如果mid[mid] > mid[mid-1],则nums[mid,r)也符合假定。如果mid[mid] < mid[mid-1],则nums[left,mid)也符合假定。

推论三:推论二也可以也可以理解成分别抛弃[left,mid)和[mid,r)。令mid = left+(r-left)/2,由于r-left>=2,所以left<mid<r。也就是抛弃的子数组不会为空。也就是数组不断变短。等长度为1结束。

时间复杂度

由于每次抛弃一半,所以需要抛弃logn次。故时间复杂度O(logn)

核心代码

class Solution {

public:

    int findPeakElement(vector<int>& nums) {

        int left = 0, r = nums.size();

        while (r - left > 1)

        {

            const int mid = left + (r - left) / 2;

            if (nums[mid] > nums[mid - 1])

            {

                left = mid;

            }

            else

            {

                r = mid;

            }

        }

        return left;

    }

};

测试用例

int main()

{

    Solution slu;

    vector<int> nums = { 1,2,3,4 };

    int res = slu.findPeakElement(nums);

    assert(3 == res);

    nums = { 4,3,2,1 };

    res = slu.findPeakElement(nums);

    assert(0 == res);

    nums = { 2,5,3,1 };

     res = slu.findPeakElement(nums);

    assert(1 == res);

}

https://img-blog.csdnimg.cn/ea2601b3918f4aef836b5fe30da2ebf7.gif#pic_center#pic_center

其它

学院课程

基础算法的C++实现课程,请点击下面的CSDN学院的链接。

2024年1月15之前完全免费,之后绝大部分免费

https://edu.csdn.net/course/detail/38771

C#入职培训

此课程的目的:让新同事更快完成从学生到C#程序员的转换,更快上手完成C#的开发工作。

https://edu.csdn.net/course/detail/38768

C++入职培训

让新同事更快完成从学生到C++程序员的转换,更快上手完成C++的开发工作。

https://edu.csdn.net/course/detail/32049

运行验证环境

Win10 VS2022 Ck++17 或win7 VS2019 C++17

每天都补充正能量

好好学习,天天向上。

事无终始,无务多业。

是故置本不安者,无务丰末。

相关下载

如果你时间宝贵,只想看精华,请到CSDN下载频道下载《闻缺陷则喜算法册》doc版

https://download.csdn.net/download/he_zhidan/88348653

https://img-blog.csdnimg.cn/f95ddae62a4e43a68295601c723f92fb.gif#pic_center

http://www.hkea.cn/news/443519/

相关文章:

  • 做网站管理好吗阳泉seo
  • 网站排名优化建设seo人人网
  • html5可以做动态网站惠州seo计费
  • 商城网站带宽控制河南网站建设哪家公司好
  • 贵阳网络公司网站建设网络推广公司深圳
  • 企业网站建设公司电话西安seo分析报告怎么写
  • 岳阳市政府网网站seo优化报告
  • 门头沟网站建设外贸谷歌推广
  • 铜陵市住房和城乡建设委员会网站中国最新疫情最新消息
  • 动态网站建设 教程接广告推广的平台
  • 人力资源和社会保障部是干什么的seo最新快速排名
  • 网站标题关键优化网络营销代运营外包公司
  • 罗山网站建设seo网络推广优化
  • 如何在eclipse上做网站网站链接查询
  • 企业网站如何设计网页直通车推广计划方案
  • 简单的购物网站设计seo网络推广知识
  • 做众筹的网站关键词网站推广
  • 做网站 页面自适应渠道推广
  • 广东企业网站建设策划高端网站设计公司
  • wordpress文章批量编辑网站优化方案模板
  • 北京互联网公司开发的网站今日关注
  • 网站限制上传图片大小免费网络推广100种方法
  • 提供网站建设服务的网站价格快速推广
  • 政府网站建设原则 统筹规划进入百度官网
  • 网站如何做等级保护谷歌搜索引擎363
  • 天河网站建设网络推广不属于网络推广方法
  • 阜阳中国建设银行官网站百度提交入口网站网址
  • 游戏网站怎么建设广告营销公司
  • 韩城做网站b2b平台推广网站
  • 网站建设课程设计摘要生活中的网络营销有哪些