当前位置: 首页 > news >正文

使用Arrays.asList与不使用的区别

在写算法的时候,遇到了有的题解使用的是Arrays.asList,也有的是直接新建一个List集合将元素加进去的。

看了一下算法的时间,两者居然相差了9秒。

算法原地址: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

Arrays.asList()就是一个将数组转为集合的方法,但是使用这个方法得到的list集合却不能进行添加和删除操作。

如果是想要这些操作的话,还是得去新建list。

通过上面的算法测试可以看到,Arrays.asList()方法所用时长明显比新建一个list集合所花费时间更长。

代码:

class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> lists = new ArrayList<>();//排序Arrays.sort(nums);//双指针int len = nums.length;for(int i = 0;i < len;++i) {if(nums[i] > 0) return lists;if(i > 0 && nums[i] == nums[i-1]) continue;int curr = nums[i];int L = i+1, R = len-1;while (L < R) {int tmp = curr + nums[L] + nums[R];if(tmp == 0) {List<Integer> list = new ArrayList<>();list.add(curr);list.add(nums[L]);list.add(nums[R]);// lists.add(Arrays.asList(curr, nums[L], nums[R]));lists.add(list);while(L < R && nums[L+1] == nums[L]) ++L;while (L < R && nums[R-1] == nums[R]) --R;++L;--R;} else if(tmp < 0) {++L;} else {--R;}}}return lists;}
}

http://www.lryc.cn/news/240848.html

相关文章:

  • 基于可变形卷积和注意力机制的带钢表面缺陷快速检测网络DCAM-Net(论文阅读笔记)
  • el-table 对循环产生的空白列赋默认值
  • 新一代网络监控技术——Telemetry
  • java斗牛,咋金花
  • 深信服技术认证“SCSA-S”划重点:信息收集
  • 代码逻辑修复与其他爬虫ip库的应用
  • 字符串结尾空格比较相关参数BLANK_PAD_MODE(DM8:达梦数据库)
  • 微型计算机原理MOOC题
  • TensorFlow实战教程(十八)-Keras搭建卷积神经网络及CNN原理详解
  • uniapp为什么能支持多端开发?uniapp底层是怎么做的?
  • 《数据仓库入门实践》
  • 什么是arguments对象?
  • Java LinkedList链表、HashSet、HashMap
  • Linux中清除cache/buffer方法
  • github批量仓库克隆,git clone某个用户的所有仓库
  • 防爆智能安全帽、防爆手持终端,防爆智能矿灯守护安全,在煤矿安全生产远程可视化监管中的应用
  • 数据结构与算法【B树】的Java实现+图解
  • 2024中国人民大学计算机考研分析
  • 无人智能货柜:提升购物体验
  • 【OpenCV实现图像:可视化目标检测框】
  • C/C++---------------LeetCode第1436. 旅行终点站
  • 如何在AD上创建完整的项目
  • 实时错误’-2147217887‘多步OLB DB 操作产生错误。如果可能,请检查OLE DB状态值
  • 九、ffmpeg命令转封装
  • 数字逻辑电路基础-时序逻辑电路之锁存器
  • Python---global关键字---设置全局变量
  • bug场景记录
  • 【云备份】第三方库的认识与使用
  • 6.2.SDP协议
  • [汇编实操]DOSBox工具安装——Ubuntu18.04系统