赞
踩
本篇参照大佬博客练习题顺序,代码都是自打的,有些可能不是最优解。
目录
- class Solution {
- public:
- int mySqrt(int x) {
- long long l=1,r=x;
- while(l<=r)
- {
- long long mid=(l+r)/2;
- if(mid*mid>x)
- {
- r=mid-1;
- }
- else if(mid*mid<x)
- l=mid+1;
- else
- return mid;
- }
- return r;
- }
- };

- class Solution {
- public:
- char nextGreatestLetter(vector<char>& letters, char target) {
- int l=0,r=letters.size()-1;
- while(l<=r)
- {
- int mid=(l+r)/2;
- if(letters[mid]<=target)
- {
- l=mid+1;
- }
- else
- r=mid-1;
- }
- if(l>=letters.size())
- l=0;
- return letters[l];
- }
- };

- class Solution {
- public:
- int singleNonDuplicate(vector<int>& nums) {
- int ans=0;
- for(int i=0;i<nums.size();i++)
- ans^=nums[i];
- return ans;
- }
- };
- // The API isBadVersion is defined for you.
- // bool isBadVersion(int version);
-
- class Solution {
- public:
- int firstBadVersion(int n) {
- long long l=0,r=n;
- while(l<=r)
- {
- long long mid=(l+r)/2;
- if(isBadVersion(mid))
- {
- r=mid-1;
- }
- else
- l=mid+1;
- }
- return l;
- }
-
- };

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。