#include <leetcode.h>
◆ singleNonDuplicate()
int leetcode::single_element_in_a_sorted_array::Solution::singleNonDuplicate |
( |
vector< int > & | nums | ) |
|
|
static |
在文件 leetcode.cpp 第 2895 行定义.
2895 {
2896 int l = 0;
2897 int r = nums.size() - 1;
2898 while(l < r) {
2899 if(l + 1 == r) {
2900 if(l == 0) {
2901 return nums[l];
2902 }
2903 if(r == nums.size() - 1) {
2904 return nums[r];
2905 }
2906 if(nums[l - 1] == nums[l]) {
2907 return nums[r];
2908 }
2909 return nums[l];
2910 }
2911 const int m = (l + r) / 2;
2912 int tmp = m;
2913 if(nums[m + 1] == nums[m]) {
2914 tmp = m + 1;
2915 }
2916 if(tmp % 2 == 0) {
2917
2918 r = m;
2919 } else {
2920
2921 l = m;
2922 }
2923 }
2924 return nums[l];
2925 }
被这些函数引用 leetcode::single_element_in_a_sorted_array::TEST() , 以及 leetcode::single_element_in_a_sorted_array::TEST().
该类的文档由以下文件生成: