二分查找的大致了解 📅 发布时间:2026/7/3 16:04:13 👁️ 浏览次数: 数据结构笔记1.斐波那契函数除去前几个特例后面的数均为前一个数后面一个数public static long Fib(int N){if(N 3){return 1;}else{return Fib(N-1) Fib(N-2);}}2.复杂度只说最坏情况下。3.1、用常数1取代运行时间中的所有加法常数。2、在修改后的运行次数函数中只保留最高阶项。3、如果最高阶项存在且不是1则去除与这个项目相乘的常数。得到的结果就是大O阶。4.二分查找中间索引为向下取整3.5取3。5. java中的小数计算会自动取整。12/21;但数太大时最高位会变成符号位即突破正整数限制变为以负号开头的数字。这个时候就开始使用右移运算符,即在二进制层面右移一位来代替除号÷的弊端。6. 二分查找核心循环左闭右开区间 [left, right)。7.如果righta.length ;则代表右侧指针不进行数据比对只用来进行缩小边界此时while(1right-left)。8.数组采用二分查找中间项是数组的中间序列号要生成一个临时变量将数组中间序列号所代表的值赋给它例如int midVal a[mid]; 之后才能进行后续比较。9.java中的绝对值函数Math.abs()。10. 数组复制函数System.arraycopy旧数组起始位置目标数组插入点的起始位置原数组复制到新数组的长度例如旧数组为123复制的长度为2根据数组下标应该复制数组下标1之前的内容1和2。11.找最左边第一个目标数缩右边界因为对象数组本身已经就是从右到左的从小到大的有序数组缩右边界就是要排除左边是否还有目标数反之找最右边第一个目标数则缩左边界。12.二分查找的通用公式class Solution{public int search( int[ ] nums, int target){int left 0;int right nums.length-1;while(left right){int mid left(left right)/2;int midval nums[mid];if( targetmidval){return mid;}if(targetmidval){right mid -1; //核心操作是通过 target 满足条件来操控一边的指针一直移动另一边不动直到不满足while的()中的前提条件从而跳出循环}else{left mid 1;}}return -1;}}13.Leftmost: 找靠左返左 改动原始二分查找代码return -1; 改为 return left; 意味返回值为target的***最靠左的索引***。14.Rightmost:找靠右返右 改动原始二分查找代码return -1; 改为 return left -1或 return right; 意味返回值为target的***最靠右的索引*** 。15.求排名: Leftmost(target) target的索引 1 。16求前任Leftmost(target) target的索引 - 1 。17.求后任Rightmost(target) target的索引 1 。
[免费分享] 超实用的幼儿教育合集 声明:本文档所有资源均来自网络收集,不涉及任何利益,仅供私下交流学习使用,请于下载后24小时内删除!资源若有冒犯或侵权,请联系我删除!按需保存!及时保存!如发现链接错误,或者链接失… 2026/5/17 11:52:33
镜像视界空间智能战略:人工智能+空间计算助力数字中国建设---融合 Pixel-to-Space空间反演 × DeepSeek认知引擎 × SpaceOS空间操作系统 × AI智能体系统 镜像视界空间智能战略:人工智能空间计算助力数字中国建设副标题融合 Pixel-to-Space空间反演 DeepSeek认知引擎 SpaceOS空间操作系统 AI智能体系统,推动人工智能与空间计算深度融合,培育新质生产力一、人工智能成为国家战略核心在全球科技… 2026/5/17 11:52:25
对比输入的验证码案例和用户名,密码验证码正确登录案例 对比验证码案例package com.sy.comd;import java.util.Random; import java.util.Scanner;// 验证码 public class Stringtext01 {public static void main(String[] args) {String doom Doom(4);// 对比用户输入的验证码是否正确// 键盘录入System.out.println("… 2026/7/3 1:42:42
YOLO目标检测实战:从环境配置到模型训练的全流程指南 1. 从“保姆级”到“能跑通”:YOLO学习的第一道坎 看到“保姆级教程”和“2小时学透”这样的标题,很多新手会以为跟着步骤走一遍就能掌握YOLO。但真实情况是,很多人卡在了第一步:环境装不上,或者代码跑不起来。这背后… 2026/7/3 16:02:11
IS31FL3731 LED驱动芯片与STM32F405ZG集成方案详解 1. IS31FL3731 LED驱动芯片的核心特性解析 IS31FL3731是一款专为LED矩阵显示设计的I2C接口驱动芯片,其核心价值在于实现了144个LED(16x9阵列)的独立PWM控制。这款芯片采用Charlieplexing技术,仅需少量IO引脚即可驱动大量LED&#… 2026/7/3 16:00:11
如何快速掌握SPAdes:生物信息学新手的完整基因组组装指南 如何快速掌握SPAdes:生物信息学新手的完整基因组组装指南 【免费下载链接】spades SPAdes Genome Assembler 项目地址: https://gitcode.com/gh_mirrors/sp/spades SPAdes基因组组装工具是生物信息学领域最强大的测序数据分析解决方案之一,专为细… 2026/7/3 16:00:11
DC-DC降压转换与I2C可编程电源设计实战 1. 项目背景与核心器件选型 在嵌入式电源设计中,DC-DC降压转换是基础但关键的技术环节。本项目采用171010550(推测为某DC-DC控制器型号)与PIC24F16KA102单片机组合方案,通过I2C总线实现可编程电源管理。这种架构在便携式设备、IoT… 2026/7/3 16:00:10
3个理由让你爱上Digital-Logic-Sim:从门电路到CPU的数字电路学习神器 3个理由让你爱上Digital-Logic-Sim:从门电路到CPU的数字电路学习神器 【免费下载链接】Digital-Logic-Sim 项目地址: https://gitcode.com/gh_mirrors/di/Digital-Logic-Sim Digital-Logic-Sim是一款基于Unity引擎开发的开源数字逻辑电路模拟器,… 2026/7/3 15:58:09
工业4-20mA电流环与DAC161S997精密数模转换技术解析 1. 工业4-20mA电流环技术背景解析 在工业自动化领域,4-20mA电流环技术已经持续应用了超过半个世纪,至今仍是过程控制系统中模拟信号传输的黄金标准。这种电流信号传输方式之所以经久不衰,关键在于其独特的物理特性:电流信号在长距… 2026/7/3 15:58:09
如何5分钟快速上手XUnity.AutoTranslator:打破语言障碍的游戏翻译神器终极指南 如何5分钟快速上手XUnity.AutoTranslator:打破语言障碍的游戏翻译神器终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的游戏剧情?面对日… 2026/7/3 0:01:58
3种策略管理Playnite便携版:从基础部署到高级维护的完整指南 3种策略管理Playnite便携版:从基础部署到高级维护的完整指南 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址… 2026/7/3 0:05:59
2026江苏三维扫描仪定制厂家:一条很现实的分水岭——“会用”和“用对” 在江苏制造业的三维扫描项目里,有一个很容易被忽略的分界线: 👉 会用设备,不等于用对设备。 尤其在江苏GOM三维扫描仪定制厂家、江苏蔡司3D扫描仪定制厂家项目中,这条分界线会直接决定系统最终是“工具”,还… 2026/7/3 0:07:59