算法面试——二分查找:旋转排序数组、搜索二维矩阵

发布时间:2026/7/23 15:18:30
算法面试——二分查找:旋转排序数组、搜索二维矩阵 二分查找的时间复杂度是 O(log n)但难点在于判断左右边界和边界条件。一、基础二分publicintbinarySearch(int[]nums,inttarget){intleft0,rightnums.length-1;while(leftright){intmidleft(right-left)/2;if(nums[mid]target)returnmid;if(nums[mid]target)leftmid1;elserightmid-1;}return-1;}二、搜索旋转排序数组publicintsearch(int[]nums,inttarget){intleft0,rightnums.length-1;while(leftright){intmidleft(right-left)/2;if(nums[mid]target)returnmid;if(nums[left]nums[mid]){if(targetnums[left]targetnums[mid])rightmid-1;elseleftmid1;}else{if(targetnums[mid]targetnums[right])leftmid1;elserightmid-1;}}return-1;} 觉得有用的话点赞 关注【张老师技术栈】吧