使用二叉树查找指定数字的下标
/** * 使用二叉树查找指定数字的下标 * @param findNum 被查找的数 * @param nums 原数组 * @return 成功返回指定下标,失败返回-1 */ public static int findByNumsIndex(int findNum, int[] nums) { Arrays.sort(nums); int left=0,right=nums.length-1,mid; while(left<=right){ mid=left+(right-left)/2;//获取中间位置 if(nums[mid]==findNum){ return mid; }else if(findNum<nums[mid]){//根据中间数判断 如果被查询的数小于当前中间数下标位置的值,则在前半区找 right=mid-1; }else{//如果被查询的数大于当前中间数下标位置的值,则在后半区找 left=mid+1; } } return -1; }
你要学会如何长大