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

【算法】小点:List.remove

1、List.remove

在写一道简单递归时发现问题:

cur.add(nums[i]); dfs(nums,cur,res); cur.remove(nums[i]); 主要是这三行代码,发现出现指针异常。其实问题是:
List的remove方法有两个重载:remove(int index)和remove(Object o)。
在这里,nums[i]是int类型,所以调用的是remove(int index)方法,它会移除指定索引位置的元素。
如果当前列表cur的大小为size,那么索引范围是0到size-1。当我们调用cur.remove(nums[i])时,如果nums[i]的值大于等于cur的大小,就会抛出IndexOutOfBoundsException。

所以,在递归回溯时,我们通常移除最后一个元素,所以更常见的写法是:
cur.remove(cur.size()-1);
或者,如果我们知道要移除的对象,也可以使用:
cur.remove(Integer.valueOf(nums[i]));

2、add(cur)

知道在写回溯的时候,一般会有:List<List<Integer>> res= new ArrayList<>(); List<Integer> cur = new ArrayList<>() ; 

然后在dfs中判断添加:res.add 不过要注意,这里面要写 res.add(new ArrayList(cur)); 每次都是新的,否则这个cur是同一个值,每个都一样。

http://www.dtcms.com/a/423443.html

相关文章:

  • 文件扩展名.js .jsx .ts .tsx区别(JavaScript扩展名、React扩展名、TypeScript扩展名)
  • MySQL 在金融系统中的应用:强一致性与高可用架构实战
  • 销售型网站营销目标查网址是否安全
  • 媒体发稿平台如何选
  • 靠谱的综合门户媒体发稿如何选
  • 学习:uniapp全栈微信小程序vue3后台(29)
  • 装修设计网站排名新浪短网址链接
  • kali 01——安装及简要介绍
  • 宁夏政务网站建设标准wordpress是瀑布流吗
  • 烟台 网站建设中国广告在国外投放案例
  • OpenAI秘密测试ChatGPT安全路由,情感对话触发GPT-5严格审查
  • 赋能制造新质生产力:制造业专用低代码平台选型指南(2025)
  • 智慧工地系统:建筑行业数字化转型的核心趋势,集成云计算、物联网、大数据等技术,构建覆盖施工全周期的智能化管理体系。
  • 做一个网站需要多少人权威的手机网站制作
  • Flink 有状态与时间敏感流处理从 Concepts 到 API 实战
  • UNIX下C语言编程与实践11-UNIX 动态库显式调用:dlopen、dlsym、dlerror、dlclose 函数的使用与实例
  • 【形宙数字】Pupil Neon VR|AR|XR虚拟现实眼动追踪系统-眼动仪-视线追踪-生理心理学-虚拟模拟
  • JupyterLab+PyTorch:LoRA+4-bit量化+SFT微调Llama 4医疗推理应用|附代码数据
  • python-格式化输入输出
  • 【Dogfight论文复现】无人机视频中检测无人机的目标检测模型
  • 北京矿建建设集团有限公司 网站谷歌seo服务公司
  • 食品行业数字化转型实战:工艺优化解决方案中的四大核心模块详解
  • 【文件上传漏洞】绕过验证上
  • UDP的理解
  • 可信的昆明网站建设什么网站是免费的
  • 【gin框架读取参数的方式】
  • 南京建网站wordpress 主题demo
  • 铜陵高端网站建设seo优化关键词0
  • 济南教育论坛网站建设哪个平台查企业免费
  • asp连接数据库做登录网站完整下载辽宁城乡住房建设厅网站首页