540. Single Element in a Sorted Array
来源:互联网 发布:把别人淘宝制成csv 编辑:程序博客网 时间:2024/05/22 06:11
Given a sorted array consisting of only integers where every element appears twice except for one element which appears once. Find this single element that appears only once.
Example 1:
Input: [1,1,2,3,3,4,4,8,8]Output: 2
Example 2:
Input: [3,3,7,7,10,11,11]Output: 10
Note: Your solution should run in O(log n) time and O(1) space.
思路: * focus on even index
* 因为lo,hi在更新的时候求出来的mid不一定是even
* 所以在n/2内二分
class Solution { public int singleNonDuplicate(int[] nums) { int lo = 0, hi = nums.length/2; while(lo < hi) { int mid = lo + (hi-lo) / 2; if(nums[mid*2] == nums[mid*2+1]) // 0..2*mid+1都是ok的 lo = mid+1; else hi = mid; } return nums[2*lo]; }}
class Solution: '''分当前index是奇数还是偶数讨论,进而判断前面有奇数个数还是偶数个数, 最后以此推测下表的变换 ''' def singleNonDuplicate(self, nums): """ :type nums: List[int] :rtype: int """ lo,hi=0,len(nums)-1 while lo<hi: mid=lo+(hi-lo)//2 if mid%2==0: if nums[mid]==nums[mid+1]: lo=mid else: hi=mid+2 else: if nums[mid]==nums[mid+1]: hi=mid-1 else: lo=mid+1 return nums[lo]s=Solution()print(s.singleNonDuplicate([1,1,2,3,3,4,4,8,8]))print(s.singleNonDuplicate([3,3,7,7,10,11,11]))
阅读全文
0 0
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- 540. Single Element in a Sorted Array
- LeetCode (Single Element in a Sorted Array)
- Single Element in a Sorted Array
- Single Element in a Sorted Array
- Single Element in a Sorted Array
- LeetCode | 540. Single Element in a Sorted Array
- {LeetCode} 540. Single Element in a Sorted Array
- LeetCode 540. Single Element in a Sorted Array
- LeetCode 540. Single Element in a Sorted Array
- 【C++】类和结构
- [Leetcode] 113, 53, 124
- 解决git以 https和ssh方式 每次都要输入用户名和密码问题
- 缓存算法(页面置换算法)-FIFO、LFU、LRU
- GetAsyncKeyState函数
- 540. Single Element in a Sorted Array
- 从零开始学_JavaScript_系列(53)——Generator函数(1)基本概念和示例
- 机器学习十大常用算法小结
- 使用数组制作简易的用户管理系统【java】
- 使用CSS将图片转换成黑白(灰色、置灰)
- RecycleView初识
- 2017年春招“森林举行运动会”编程题
- 秦风测试
- Myeclipse为Java Project配置JRE(或者JDK)环境