leetcode-二分查找:Find Peak Element
2015-07-14 17:07
513 查看
题目介绍
峰值元素值该元素大于它的邻居元素,数组中的元素满足num[i]!=num[i+1],找到峰值元素的索引,并返回之。数组中可能包括多个峰值,只要找到其中一个即可。例如数组[1,2,3,1]的峰值元素为3,所以返回的索引为2解体思路
i = 0, j=数组长度,如果nums[mid]实现代码
/************************************************************************* > File Name: bisearch.cpp > Author: ma6174 > Mail: ma6174@163.com > Created Time: 2015年07月13日 星期一 10时47分30秒 ************************************************************************/ #include<iostream> #include<math.h> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> using namespace std; //162 int findPeakElement(vector<int>& nums) { int i = 0; int j = (int)nums.size() - 1; while(i <= j) { int mid = (i + j) / 2; if(nums[mid] < nums[mid + 1]) i = mid + 1; else if(nums[mid] < nums[mid - 1]) j = mid - 1; else if((nums[mid] > nums[mid + 1]) && (nums[mid] > nums[mid - 1])) return mid; } return i; } int main(int arvc, char** argv) { int in = atoi(argv[1]); //162 vector<int> r; r.push_back(1); r.push_back(2); r.push_back(1); r.push_back(1);r.push_back(2); r.push_back(3); r.push_back(4);r.push_back(1); int i = findPeakElement(r); printf("peak is %d\n", i); return 0; }
相关文章推荐
- 转 PHP常用正则表达式汇总
- UI2_UITableViewDelete
- 【SharePoint】SharePoint 2013 使用PreSaveAction自定义客户端验证
- bash参考手册之七(作业控制)
- centos上部署邮件服务器
- 20150703Mickey牛的HASH讲解
- TCP IP网络编程 (韩)尹圣雨pdf下载
- Vitamio视频播放
- JS遮罩层——如何使被遮罩后的链接可以点击
- appcan 多按钮提示框
- NET Framework 4.5 有更加简便的方法 Task.Run()
- bat-5s后重启服务并写入txt
- 互联网时代,印刷产业的福音?
- ExtJs grid中 datefield 列数据 提交格式问题
- Leetcode_95 Unique Binary Search Trees II
- linux下的man和info命令
- 配置虚拟主机
- 如何利用安卓手机搭建WEB服务器
- 黑马程序员------C语言中变量的概念,初始化和引用以及作用域
- Android之旅---广播(BroadCast)