一、

public class BinarySeachTest {
public static void main(String[] args) {
int[] arr = new int[]{22,54,88,97,105,112};
System.out.println(binarySeach(arr, 112));
}
/**
*
* @return 返回传入的value在数组位置
*/
public static int binarySeach(int[] num,int value){
int start=0; //数组的开始下标
int end =num.length-1; //数组的结尾下标
while(start<=end){
int middle = (start+end)/2; //中间位置
if(num[middle]>value){
end=middle-1;
}else if(num[middle]<value){
start=middle+1;
}else {
return middle;
}
}
return -1;
}

}

二、可变参:定义一个方法需要接受多个参数,并且多个参数类型一致

  格式:
修饰符 返回值类型 方法名(参数类型... 形参名){  }
等价与
修饰符 返回值类型 方法名(参数类型[] 形参名){  } 例子:
public class VariableParameter {
public static void main(String[] args) {
int[] arr = {4,5,9,10};
System.out.println(getSum1(arr));
System.out.println(getSum2(arr));
} public static int getSum1(int[] num){
int sum = 0;
for (int i : num) {
sum+=i;
}
return sum;
}
public static int getSum2(int...num){
int sum = 0;
for (int i : num) {
sum+=i;
}
return sum;
}
}

java基础之二分查找,可变参运用的更多相关文章

  1. Java学习之二分查找算法

    好久没写算法了.只记得递归方法..结果测试下爆栈了. 思路就是取范围的中间点,判断是不是要找的值,是就输出,不是就与范围的两个临界值比较大小,不断更新临界值直到找到为止,给定的集合一定是有序的. 自己 ...

  2. python3--算法基础:二分查找/折半查找

    算法基础:二分查找/折半查找 #!/usr/bin/env python # -*- coding:utf-8 -*- # 算法基础:二分查找/折半查找 def binarySearch(dataSo ...

  3. Python 迭代器&生成器,装饰器,递归,算法基础:二分查找、二维数组转换,正则表达式,作业:计算器开发

    本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...

  4. Java实现的二分查找算法

    二分查找又称折半查找,它是一种效率较高的查找方法. 折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小 于该中点 ...

  5. Java基础(50):二分法查找的非递归实现和递归实现(完整代码可运行,参考VisualGO理解更佳)

    一.概念 二分查找算法也称折半查找,是一种在有序数组中查找某一特定元素的搜索算法. 二.算法思想 搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束:如果某一特定元素大于或者 ...

  6. java基础---数组的查找算法(2)

    一.查找的基本概念 查找分为有序查找和无序查找,这里均以数组为对象,有序查找指的是数组元素有序排列,无序查找指的是数组元素有序或无序排列 平均查找长度(Average Search Length,AS ...

  7. Java:冒泡排序 | 二分查找

    2018-10-29 20:16:46 冒泡排序 例子(对数字排序): 假设有这样一组数字:32, 8, 128, 2, 64 现在对其进行冒泡排序(*表示下次比较的开始数字): 32>8? t ...

  8. 二维数组中的查找 - Java版 -简单二分查找 -<<剑指Offer>> -水题

    如题 (总结) -认真读题, 还WA了一次, https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId=13&am ...

  9. Java冒泡排序,二分查找法

    冒泡排序 int[] arr = {1,7,6,2,8,4}; int temp ; //只需 运行 5次 for (int i = 0; i < arr.length - 1; i++) { ...

  10. Java中的二分查找

    二分查找:(折半查找) 前提:数组必须是有序的. 思想:每次都猜中间的那个元素,比较大或者小,就能减少一半的元素.思路:A:定义最小索引,最大索引. B:比较出中间索引 C:拿中间索引的值和要查找的元 ...

随机推荐

  1. MongoDB 常用指令(详细)

    # MongoDB 常用指令## 基础命令### 启动与连接```bash# 启动 MongoDB 服务mongod# 连接 MongoDB 客户端mongo```### 数据库操作```bash# ...

  2. Flink同步kafka到iceberg(cos存储)

    一.flink到logger 1.source create table source_table ( id bigint comment '唯一编号' ,order_number bigint co ...

  3. Android应用禁止屏幕休眠的3种方法

    做android应用开发时,有时需要在应用前台运行时,禁止休眠,以下几种方法供参考. 方法一:持有wakelock 添加休眠锁,休眠锁必须成对出现. private wakelock mwakeloc ...

  4. 【软件开发】Doxygen使用笔记

    [软件开发]Doxygen 使用笔记 Doxygen 是通过代码注释生成文档的事实标准,借用该工具可以将文档内容与代码写在一起方便维护. https://github.com/doxygen/doxy ...

  5. 使用Windows系统自带DLL修复工具修复系统缺失dll的问题

    1. System File Checker(SFC) System File Checker(SFC)是Windows自带的一个工具,可以扫描系统文件并尝试修复任何受损的文件.要使用SFC,请按照以 ...

  6. autMan奥特曼机器人-Linux、Windows、docker安装教程

    autMan简介 autMan是机器人牵引的扩展性极强的一站式解决方案 原生支持对接qq框架.qq频道.微信框架(酷V西瓜可爱猫千寻鲲鹏). 内置微信.微信客服.公众号.钉钉.飞书.tg客户端.tg机 ...

  7. Hadoop - HDFS 概述

    什么是HDFS HDFS的优缺点 HDFS的文件块大小 HDFS的写数据流程 HDFS的副本配置策略 HDFS读数据的流程 什么是HDFS HDFS(Hadoop Distributed File S ...

  8. linux服务器CPU占用100%,宝塔负载100%情况问题排查处理记录(CentOS 8.1系统)

    问题描述:linux服务器cpu占比达到100%,站点无法正常访问,宝塔面板进入后卡顿,负载显示也是持续100%(下方测试系统为CentOS 8.1) 排查可能:1.使用netstat命令查看目前的链 ...

  9. 前端UI框架Ant Design Pro

    https://012x.ant.design/ 一直忙于工作,也没时间总结.现在有点零散时间把之前做的笔记整理一下. 目前项目使用的技术栈是,前端UI框架Ant Design Pro,数据交互使用r ...

  10. 李沐动手学深度学习V2-chapter_linear-networks

    李沐动手学深度学习V2 文章内容说明 本文主要是自己学习过程中的随手笔记,需要自取 课程参考B站:https://space.bilibili.com/1567748478?spm_id_from=3 ...