当前位置: 首页 > article >正文

NC 二分查找-II

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


描述
请实现有重复数字的升序数组的二分查找
给定一个 元素有序的(升序)长度为n的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返回下标,否则返回 -1
在这里插入图片描述

    public int search(int[] nums, int target) {
        if (nums == null || nums.length == 0)
            return -1;
        return helper(nums, target, 0, nums.length - 1);
    }

    private int helper(int[] nums, int target, int left, int right) {
        if (left > right)
            return -1;
        if (nums[left] == target)
            return left;
        int mid = left + (right - left) / 2;
        if (nums[mid] < target) {
            return helper(nums, target, mid + 1, right);
        } else if (nums[mid] > target) {
            return helper(nums, target, left, mid - 1);
        } else {
            return helper(nums, target, left, mid);
        }
    }

http://www.kler.cn/news/284575.html

相关文章:

  • SQL 中 LIKE 和 REGEXP 的相同点与不同点解析
  • 关于前端布局的基础知识
  • AI绘画【Stable Diffusion】抽卡必备!时间管理大师Agent Scheduler插件,一键设置任务,让你的休息时间充分利用起来!
  • 如何判断请求是否为跨域请求?——详细教程
  • Godot vscode c# 调试方法
  • Linux——用户和权限
  • 代理 IP 在工业物联网中的大作用
  • 自然灾害预警系统的重要性
  • FPGA概述
  • 算法训练营|图论第7天 prim算法 kruskal算法
  • HPM5301系列--VSCODE开发环境问题修复(一)
  • 深度学习100问18:什么是负采样
  • chat2DB体验
  • 安卓蓝牙技术的使用和场景
  • 零基础学习Redis(9) -- set类型命令使用
  • CF C. Candy Store
  • 探索Python的Excel力量:openpyxl库的奥秘
  • Git学习尚硅谷(002 git常用命令)
  • SpringMVC-基本详解
  • Java经典框架之MyBatis
  • 机器人外呼的具体操作步骤是怎样的?
  • 避雷!避雷top!杭州拱墅金地·威新科技大厦
  • 斯坦福公开课:CS224W-Machine Learning with Graphs | 2021 课程笔记
  • 【读点论文】Scene Text Detection and Recognition: The Deep Learning Era
  • 【人工智能】项目案例分析:使用TensorFlow进行大规模对象检测
  • 如何打开终端?
  • Linux主要目录速查表:
  • TQRFSOC开发板47DR ADC输入采集测试(二)
  • 贪心算法---根据身高重建队列
  • 什么是 One-Hot 编码?