simple recursion programming problem
else if(target < A[mid])
return binarySearch(A, start, mid, target);
else
return binarySearch(A, mid+1, end, target);
1 public class Solution { 2 public int searchInsert(int[] A, int target) { 3 // IMPORTANT: Please reset any member data you declared, as 4 // the same Solution instance will be reused for each test case. 5 return search(A, 0 , A.length, target); 6 } 7 private int search(int[] A, int start, int end, int target) 8 { 9 if(start == end) 10 return start; 11 int tmp = (start + end) / 2; 12 if(A[tmp] == target) 13 return tmp; 14 else if(A[tmp] < target) 15 return search(A, tmp+1, end, target); 16 else 17 return search(A, start, tmp, target); 18 } 19 }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步