数据结构和算法——查找算法
目录
线性查找法
二分查找法
插值查找法
斐波那契查找法
线性查找法
可以是有序的,也可以是无序的。
public class SeqSearch {public static void main(String[] args) {int[] arr = new int[]{1, 9, 11, -1, 34, 89};int res = seqSearch(arr, 34);}public static int seqSearch(int[] arr, int n) {for (int i = 0; i < arr.length; i++) {if (arr[i] == n) {return i;}}return -1;}
}
二分查找法
也叫折半查找,数组必须有序。
public class BinarySearch {public static void main(String[] args) {int[] arr = new int[]{2, 2, 4, 4, 5};
// int res = binarySearch(arr, 6);List list = binarySearchPlus(arr, 6);}public static int binarySearch(int[] arr, int n) {int l = 0;int r = arr.length - 1;while (l <= r) {int m = (l + r) / 2;if (n < arr[m]) {r = m - 1;} else if (n > arr[m]) {l = m + 1;} else if (n == arr[m]) {return m;} else {return -1;}}return -1;}public static ArrayList binarySearchPlus(int[] arr, int n) {int l = 0;int r = arr.length - 1;while (l <= r) {int m = (l + r) / 2;if (n < arr[m]) {r = m - 1;} else if (n > arr[m]) {l = m + 1;} else if (n == arr[m]) {ArrayList<Integer> list = new ArrayList<>();list.add(m);for (int i = m - 1; i >= 0 && n == arr[i]; i++) {list.add(i);}for (int i = m + 1; i < arr.length && n == arr[i]; i++) {list.add(i);}Collections.sort(list);return list;} else {return null;}}return null;}
}
插值查找法
斐波那契查找法
相关文章:
数据结构和算法——查找算法
目录 线性查找法 二分查找法 插值查找法 斐波那契查找法 线性查找法 可以是有序的,也可以是无序的。 public class SeqSearch {public static void main(String[] args) {int[] arr new int[]{1, 9, 11, -1, 34, 89};int res seqSearch(arr, 34);}public st…...
Blender:对模型着色
Blender:使用立方体制作动漫头像-CSDN博客 上一步已经做了一个头像模型,我做的太丑了,就以这个外星人头像为例 首先切换到着色器编辑器 依次搜索:纹理坐标、映射、分离xyz和颜色渐变 这里的功能也是非常丰富和强大,…...
加密市场波动:地缘政治与美股走弱引发不确定性!
伴随着国庆假期的结束,多日波动率维持低位的加密市场也似乎开始苏醒。近期多次突破28000美元未果的比特币,于9日15:00开始从27800美元附近下跌,最低跌至27260美元,同期以太坊也至1550美元左右,创近半个月来新低。 Coin…...
ElementUI编辑表格单元格与查看模式切换的应用
需求:有时候在填写表单的时候,想要在输入的时候是input输入框的状态,但是当鼠标移出输入框失去焦点时,希望是查看的状态,这种场景可以通过 v-if实现 vue2ElementUi里面使用如下: 1.el-table标签注册 cell-…...
spring-创建Webservice服务
Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。webservice用的是soap协议。 客户通过发送请求…...
Maven系列第3篇:详解maven解决依赖问题
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第3篇。 我们先来回顾一下什么是maven? maven是apache软件基金会组织维护的一款自动化构件工具,专注服务于java平台的项目构件和依赖管理。 本文主要内容…...
读书笔记:多Transformer的双向编码器表示法(Bert)-4
多Transformer的双向编码器表示法 Bidirectional Encoder Representations from Transformers,即Bert; 第二部分 探索BERT变体 从本章开始的诸多内容,以理解为目标,着重关注对音频相关的支持(如果有的话)…...
Stable Diffusion XL搭建
本文参考:Stable Diffusion XL1.0正式发布了,赶紧来尝鲜吧-云海天教程 Stable Diffision最新模型SDXL 1.0使用全教程 - 知乎 1、SDXL与SD的区别 (1)分辨率得到了提升 原先使用SD生成图片,一般都是生成512*512&…...
面试题-React(十一):性能优化之PureComponent和memo
一、React性能优化的重要性 随着应用的复杂性增加,React组件的渲染可能成为性能瓶颈。频繁的渲染可能导致不必要的性能开销和卡顿。为了确保应用的高性能和流畅用户体验,我们需要采取一些措施来优化组件的渲染。 二、PureComponent-自动浅比较 PureCo…...
<图像处理> Fast角点检测
Fast角点检测 基本原理是使用圆周长为N个像素的圆来判定其圆心像素P是否为角点,如下图所示为圆周长为16个像素的圆(半径为3);OpenCV还提供圆周长为12和8个像素的圆来检测角点。 相对中心像素的位置信息 //圆周长为16 static c…...
基于centos、alpine制作Java JDK基础镜像
文章目录 前言一、 简介二、制作JDK/Java基础镜像1.准备事项2.制作Dockerfile脚本2.1.基于centos作为基础镜像2.2.基于alpine作为基础镜像3.构建镜像4.测试验证前言 在日常开发中,但凡项目需要docker容器化部署,制作项目镜像前都需要在Dockerfile中配置Java基础镜像。为什么…...
【AI视野·今日Robot 机器人论文速览 第五十二期】Wed, 11 Oct 2023
AI视野今日CS.Robotics 机器人学论文速览 Wed, 11 Oct 2023 Totally 31 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers RoboHive: A Unified Framework for Robot Learning Authors Vikash Kumar, Rutav Shah, Gaoyue Zhou, Vincent Moens, Vittor…...
hive 知识总结
编辑 社区公告教程下载分享问答JD 登 录 注册 01 hive 介绍与安装 1 hive介绍与原理分析 Hive是一个基于Hadoop的开源数据仓库工具,用于存储和处理海量结构化数据。它是Facebook 2008年8月开源的一个数据仓库框架,提供了类似于SQL语法的HQL…...
golang/云原生/Docker/DevOps/K8S/持续 集成/分布式/etcd 教程
3-6个月帮助学员掌握golang后端开发岗位必备技术点 教程时长: 150小时 五大核心专栏,原理源码案例分析项目实战直击工作岗位 golang:解决go语言编程问题 工程组件:解决golang工程化问题 分布式中间件:解决技术栈单一及分布式开发问题 云原生…...
jeecg库login登录过程分析笔记
jeecg库(版本jeecg-boot-v3.5.1last)实现了用户登录功能,二开时为了借鉴jeecg用户登录的方法,跑了一遍登录方法: org.jeecg.modules.system.controller.LoginController#login 定义这个方法的类的路径是:…...
echarts仪表盘vue
<div class"ybptx" ref"btryzb"></div>mounted() {this.getBtData();},getBtData() {var chart this.$echarts.init(this.$refs.btryzb);var data_czzf 88;var option {series: [{name: 内层数据刻度,type: gauge,radius: 80%,min: 0,max: 1…...
管道和重定向分号-连接符
本文介绍shell脚本常用命令连接符:管道符( | )、重定向( < 、>、>>、2> 、&> )、分号( ; ) 本文内容同微信公众号【凡登】,关注不迷路,学习上高速,欢迎关注共同学习。 1、管道 进程的通信方式之一…...
WSL VScode连接文件后无法修改(修改报错)
权限问题 usrname:用户名 dirpath:要修改的文件夹路径 sudo chown -R usrname /dirpath...
迷你Ceph集群搭建(超低配设备)
我的博客原文链接:https://blog.gcc.ac.cn/post/2023/%E8%BF%B7%E4%BD%A0ceph%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/ 环境 机器列表: IP角色说明10.0.0.15osdARMv7,512M内存,32G存储,百兆网口10.0.0.16clientARM64…...
Python数据挖掘项目实战——自动售货机销售数据分析
摘要:本案例将主要结合自动售货机的实际情况,对销售的历史数据进行处理,利用pyecharts库、Matplotlib库进行可视化分析,并对未来4周商品的销售额进行预测,从而为企业制定相应的自动售货机市场需求分析及销售建议提供参…...
matlab程序,傅里叶变换,频域数据,补零与不补零傅里叶变换
软件复制到浏览器下载:https://wwb.lanzouw.com/b02cila0j密码:cv10在导入数据前需明确是否勾选“加速度数据尾部补0,长度变为2的n次方”,如果输入数据点数是2 的整数倍,则可以直接使用 FFT 算法进行快速傅里叶变换,计算效率和变换…...
3大核心功能打造专业级开源服装设计解决方案
3大核心功能打造专业级开源服装设计解决方案 【免费下载链接】Seamly2D Open source patternmaking software to democratize fashion. 项目地址: https://gitcode.com/gh_mirrors/se/Seamly2D Seamly2D作为一款开源服装制版软件,通过参数化设计、精确测量管…...
终极内存故障排查方案:Memtest86+完整应用指南
终极内存故障排查方案:Memtest86完整应用指南 【免费下载链接】memtest86plus memtest86plus: 一个独立的内存测试工具,用于x86和x86-64架构的计算机,提供比BIOS内存测试更全面的检查。 项目地址: https://gitcode.com/gh_mirrors/me/memte…...
OpenClaw怎么做到不串台、能并行、还总回对群 [特殊字符]✅(含源码解析)--OpenClaw系列第1期
你把 OpenClaw 部署进群,大家立刻把它当万能同事用:小王在 dev-team 群:bot 帮我写发布计划小李在同群线程:bot CI 为啥挂了?你在私聊:这个别在群里说…还有人:bot 同时分析文档 A、B࿰…...
3步掌握Umi-OCR批量处理:从海量图片中高效提取文字
3步掌握Umi-OCR批量处理:从海量图片中高效提取文字 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/GitHub_…...
从零开始:Linux系统部署AI视频生成工具Sora.FM的实战指南
从零开始:Linux系统部署AI视频生成工具Sora.FM的实战指南 【免费下载链接】sorafm 项目地址: https://gitcode.com/GitHub_Trending/so/sorafm 在数字化内容创作领域,AI视频生成技术正在引领一场新的革命。Sora.FM作为基于Sora AI技术的创新平台…...
如何在ComfyUI中玩转WanVideo:从零到一的视频生成魔法
如何在ComfyUI中玩转WanVideo:从零到一的视频生成魔法 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 你是否曾经想过,如果能像搭积木一样轻松创作视频该有多好ÿ…...
使用PyInstaller打包yz-女生-角色扮演-造相Z-Turbo模型为可执行文件
使用PyInstaller打包yz-女生-角色扮演-造相Z-Turbo模型为可执行文件 1. 引言 想象一下,你开发了一个很酷的AI应用,基于yz-女生-角色扮演-造相Z-Turbo模型,可以生成精美的二次元角色图片。现在你想分享给朋友或用户使用,但他们可…...
AtlasOS终极指南:专业解决Windows安装错误2502/2503的完整方案
AtlasOS终极指南:专业解决Windows安装错误2502/2503的完整方案 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trendi…...
OpenClaw技能扩展:基于GLM-4.7-Flash实现Markdown自动整理
OpenClaw技能扩展:基于GLM-4.7-Flash实现Markdown自动整理 1. 为什么需要自动化文档管理 作为一个长期使用Markdown记录技术笔记的开发者,我的文档库已经积累了超过2000个文件。每当需要查找某个知识点时,总要在混乱的文件夹结构和随意命名…...
