Java数组索引元素下标快速高效的方法
来源:互联网 发布:淘宝子账号权重设置 编辑:程序博客网 时间:2024/06/07 14:37
今天去梦想小镇面试一家社交APP。
面试时出了一道简单的题。
给定一个数组[1,2,3,4,6,7,8,9.........] N多个数字
找出其中>=5(这是举例的 也可能是10)的第一个数的下标
我当时心想这简单啊,for循环遍历,当时要我写代码。
匆匆忙忙的写了
int num = 5;
Integer [] nums = new Integer[]{1,2,3,4,6,7,8,9};
for(int index=0;i<nums.length();i++){
if(nums[i]>=num){
System.out.println(index);
}
}
当时心想不会这么容易,结果面试人问有没有快速高效的方法,
我当时思考了半天,确实,如果数组很长,找的数在最后面这样很慢,
我就说用二分查找法,从数组中间查看,看这个数在前面还是后面,接着一直查,知道找到。
但是这样的话代码还是很复杂,但效率会快些。
回来以后,自己摸索了下,写下了如下的代码:
int num = 5;
Integer [] nums = new Integer[]{1,2,3,4,6,7,8,9};
List<Integer> list = new ArrayList<>(Arrays.asList(nums));
int index = list.indexOf(num);
if(index>0)
System.out.println(index);
else{
list.add(num);
Collections.sort(list);
int c = list.indexOf(num);
System.out.println(c);
}
这样的效率应该是高了很多。
不知道大家是否还有其他更好的方法,欢迎交流分享!
- Java数组索引元素下标快速高效的方法
- Java怎样快速分出一个数组中相同元素的下标
- 寻找数组的下标索引值index方法
- 二维数组, 二分法查找数组元素下标 快速查找数组最大值 数组作为实参的问题
- Java 找数组中与下标相等的元素
- java基础--输出数组中指定元素的下标
- Javascript数组删除索引元素的方法
- java获取数组连续相同元素下标
- 如何取数组的下标索引
- 查找数组某个元素的下标
- 快速查找数组中的某个元素,并返回下标
- MATLAB中通过矩阵索引值求元素下标以及转为C语言数组下标
- 一种高效的方法将数组中的元素逆置
- 一种写法简洁且高效的数组查找元素方法
- Jquery根据元素值或元素下标来删除一个数组元素及数组对象方法
- 指定数组的下标,如果数组元素等于指定值
- Knockout获取数组元素索引的2种方法
- java获取数组元素最值及其下标
- android studio 使用Lint对应用进行分析
- maven【3】(创建maven骨架archetype)
- LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案
- IIS7中配置重定向小记
- hibernate注解版关联映射
- Java数组索引元素下标快速高效的方法
- web resource category
- iOS解决拍照图片 会旋转 打开变形的问题
- linux memcached状态查询
- MySQL5.6新特性之Multi-Range Read
- APP启动画面
- android学习笔记(一)--系统环境搭建
- Linux下c开发之——线程间通信
- 关于JSP九大内置对象的详细信息