leetcode 算法第五集 二分查找

2022-06-28  本文已影响0人  xq9527

前言:

各位同学大家好,又到了我们的算法题目的

需求

/***
 *
 * 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,
 * 写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
 *
 *  输入: nums = [-1,0,3,5,9,12], target = 9
 *  输出: 4
 *  解释: 9 出现在 nums 中并且下标为 4
 */

具体实现;

``

    public static  int search(int[] nums, int target) {
        Arrays.sort(nums);

        for (int i = 0; i <nums.length-1; i++) {
            if(nums[i]==target){
                return i;
            }
        }
        return -1;
    }

我们这边可以用for 循环 遍历这个数组 然后查询到里面数据 然后跟我们的target 去对比 如果相等我们就返回下表 否则就返回-1

完整代码

import java.util.Arrays;

/***
 *
 * 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,
 * 写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
 *
 *  输入: nums = [-1,0,3,5,9,12], target = 9
 *  输出: 4
 *  解释: 9 出现在 nums 中并且下标为 4
 */


public class binarySearch {

    public static void main(String[] args) {
       int[]numbers = {-1,0,3,5,9,12};
        int target = 9;
        System.out.println(search(numbers,target));
    }

    public static  int search(int[] nums, int target) {
        Arrays.sort(nums);

        for (int i = 0; i <nums.length-1; i++) {
            if(nums[i]==target){
                return i;
            }
        }
        return -1;
    }
}

最后总结:

这道题目主要就是一个简单遍历和对比 算是非常基础的题目了 但是我们也要没事的时候去练习一下现在大厂都在裁员所以我们更要注重基本功。最后希望我的代码能帮助到各位同学工作和学习 。以后我还会贡献更多有用的代码分享给大家。各位同学如果觉得文章还不错 ,麻烦给关注和star,小弟在这里

上一篇 下一篇

猜你喜欢

热点阅读