新浪网站是什么程序做的,外贸平台排行榜,公司推广渠道,学做PPT报告的网站推荐阅读
智能化校园#xff1a;深入探讨云端管理系统设计与实现#xff08;一#xff09; 智能化校园#xff1a;深入探讨云端管理系统设计与实现#xff08;二#xff09; 文章目录 推荐阅读题目解法一解法二 题目 题目#xff1a;给定一个 n 个元素有序的#xff0…推荐阅读
智能化校园深入探讨云端管理系统设计与实现一 智能化校园深入探讨云端管理系统设计与实现二 文章目录 推荐阅读题目解法一解法二 题目 题目给定一个 n 个元素有序的升序整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target如果目标值存在返回下标否则返回 -1。 提示 你可以假设 nums 中的所有元素是不重复的。n 将在 [1, 10000]之间。nums 的每个元素都将在 [-9999, 9999]之间。 解法一
class Solution {public int search(int[] nums, int target) {for (int i0;inums.length;i){if (targetnums[i]){return i;}}return -1;}
}解法二
看到题目给出的提示数组为有序数组数组元素不重复。这些不就是使用二分法的前提条件嘛。 class Solution {public int search(int[] nums, int target) {int left0,rightnums.length-1;while(leftright){int midleft(right-left)/2;if (nums[mid]target)return mid;else if (nums[mid]target)leftmid1;else if (nums[mid]target) rightmid-1;}return -1;}
}二分法代码模板
int binarySearch(int [] nums,int target){int left0,rightX;//X 根据具体条件更改while(Y){//根据具体情况设定条件int midleft(right-left)/2;if(nums[mid]target){....}else if(nums[mid]target){leftA;//根据具体条件更改}else if(nums[mid]target){rightB;//根据具体条件更改}}return ....;
}