算法面试——二分查找:旋转数组、二维矩阵、边界

📅 2026/8/10 12:50:32
算法面试——二分查找:旋转数组、二维矩阵、边界
一、基础二分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;}三、搜索二维矩阵publicbooleansearchMatrix(int[][]matrix,inttarget){introwmatrix.length,colmatrix[0].length;intleft0,rightrow*col-1;while(leftright){intmidleft(right-left)/2;intvaluematrix[mid/col][mid%col];if(valuetarget)returntrue;if(valuetarget)leftmid1;elserightmid-1;}returnfalse;} 觉得有用的话点赞 关注【张老师技术栈】吧