当前位置: 首页 > 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/a/284575.html

相关文章:

  • docker配置代理解决不能拉镜像问题
  • 响应式网页设计--html
  • 深入理解接口测试:实用指南与最佳实践5.0(三)
  • vue3+element-plus==> el-form输入响应式失效踩坑!!!!!!!!!!
  • STM32单片机WIFI语音识别智能衣柜除湿消毒照明
  • const限定符-C语言中指针的“可变与不可变”法则
  • 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