Would this affect the run-time complexity? How and why?
classSolution {publicbooleansearch(int[] nums,int target) {int start =0, end =nums.length-1, mid =-1;while (start <= end) { mid = start + (end - start) /2;if (nums[mid] == target)returntrue;// If we know for sure right side is sorted or left side is unsortedif (nums[mid] < nums[end] || nums[mid] < nums[start])if (target > nums[mid] && target <= nums[end]) start = mid +1;else end = mid -1;// If we know for sure left side is sorted or right side is unsortedelseif (nums[mid] > nums[start] || nums[mid] > nums[end])if (target < nums[mid] && target >= nums[start]) end = mid -1;else start = mid +1;// If we get here, that means nums[start] == nums[mid] == nums[end], then shifting out// any of the two sides won't change the result but can help remove duplicate from// consideration, here we just use end-- but left++ works tooelse end--; }returnfalse; }}