SearchinRotatedSortedArray-创新互联
描述
在郊区等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站设计 网站设计制作按需网站策划,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站,外贸营销网站建设,郊区网站建设费用合理。Suppose a sorted array is rotated at some pivot unknown to you beforehand.
2.1 数组 5
(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
binary.h
#include#include class Solution { public: int search(int A[], int n, int value) { assert(A); int start = 0; int end = n - 1; while (start<=end){ int mid = (end - start) / 2 + start; if (A[mid] == value) return mid; if (A[start]<=A[mid]){//orders if (value=A[start]) end = mid - 1; else start = mid + 1; } else{//disorder if (value>A[mid]&&value<=A[end]) start = mid + 1; else{ end = mid - 1; } } } return -1; } };
binary.cpp
#include "binary.h" using namespace std; int main() { int a[9] = { 7, 8, 9, 0, 1, 2, 4, 5, 6 }; Solution s1; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 7) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 8) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 9) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 0) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 1) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 2) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 4) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 5) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 6) << endl; cout << s1.search(a, sizeof(a) / sizeof(a[0]), 3) << endl; system("pause"); return 0; }
运行结果:
以下是leetcode_cpp的代码:
我自己编的程序基本上和他给的一样,说明自己还是有进步的,嘻嘻。。。。继续加油!
<完>
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文标题:SearchinRotatedSortedArray-创新互联
新闻来源:http://ybzwz.com/article/jccco.html