news 2026/6/9 7:16:10

算法边界情况处理套路总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法边界情况处理套路总结

边界情况处理套路总结

套路1:数组/字符串为空或null

// 返回类型根据题目要求选择 if (nums == null || nums.length == 0) { return 0; // int类型 return ""; // String类型 return new ArrayList<>(); // List类型 return new int[0]; // 数组类型 }

套路2:长度为1的特殊情况

if (nums.length == 1) { return nums[0]; // 直接返回唯一元素 }

套路3:长度不够的情况

// 滑动窗口:至少需要k个元素 if (nums.length < k) { return new int[0]; } // 三数之和:至少需要3个数 if (nums.length < 3) { return new ArrayList<>(); }

套路4:初始化时处理边界

// 找最大值/最小值:初始化为第一个元素 if (nums == null || nums.length == 0) { return 0; // 或根据题目要求 } int max = nums[0]; // 先判断非空,再初始化

常见返回值对照表

返回类型找不到/为空时的返回值
int0 或 -1(根据题目)
String""
List<Integer>new ArrayList<>()
int[]new int[0]
booleanfalse

检查清单

做题时按这个顺序检查:

  1. null 检查:if (nums == null)
  2. 空数组/空字符串:if (nums.length == 0)
  3. 长度为1:if (nums.length == 1)
  4. 长度不够:if (nums.length < requiredLength)
  5. 参数有效性:if (k <= 0 || k > nums.length)
  6. 找不到结果:根据题目要求返回默认值

实际应用示例

// 最大子数组和 public int maxSubArray(int[] nums) { if (nums == null || nums.length == 0) return 0; int max = nums[0]; // 初始化为第一个元素 // ... } // 三数之和 public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> result = new ArrayList<>(); if (nums == null || nums.length < 3) return result; // ... } // 滑动窗口 public int[] maxSlidingWindow(int[] nums, int k) { if (nums == null || nums.length == 0 || k <= 0 || k > nums.length) { return new int[0]; } // ... }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 21:17:20

逆向之常用算法识别二

在数据保护和数据转换算法中&#xff0c;rc4和base64是使用频率最高的算法&#xff1b;rc4用于数据加密&#xff0c;base64用于数据转换。本篇文章介绍的识别算法和上一篇稍有不同&#xff0c;本篇讲述的算法识别方法我把它称之为“结构和特征识别”的识别方法&#xff1b;该方…

作者头像 李华
网站建设 2026/6/8 9:09:12

以空间为核心的信息感知与态势管控关键技术研究

——基于空间视频智能感知的新型高安全场景技术体系&#xff08;镜像视界&#xff08;浙江&#xff09;科技有限公司空间智能技术实践&#xff09;摘要在高安全仓储与地下硐室等复杂空间场景中&#xff0c;传统以二维视频监控和离散物联网监测为核心的安全管控体系&#xff0c;…

作者头像 李华
网站建设 2026/6/9 19:41:48

【Android】Glide的使用

简介 是一个快速高效的Android开源媒体管理和图像加载框架&#xff0c;它将媒体解码、内存和磁盘缓存以及资源池封装到一个简单易用的界面中。 Glide支持拉取&#xff0c;解码和展示视频快照&#xff0c;图片和GIF动画。 **优点&#xff1a;**1.使用简单&#xff0c;并且支持多…

作者头像 李华
网站建设 2026/6/9 20:57:44

计算机毕业设计springboot餐厅预定系统 基于SpringBoot的智慧餐饮订座平台 SpringBoot驱动的线上餐厅席位预约管理系统

计算机毕业设计springboot餐厅预定系统693j34gy &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。移动互联网把“到店即食”变成了“到店前决策”&#xff0c;餐厅空座率与顾客等位…

作者头像 李华
网站建设 2026/6/8 20:22:03

被老板追着问的省钱秘籍,竟然是它!

传统资产管理的 “痛点” 大揭秘在企业运营的庞大体系中&#xff0c;资产管理堪称关键一环。然而&#xff0c;不少企业还在沿用传统的资产管理方式&#xff0c;殊不知&#xff0c;这些方式正悄然成为企业降本增效路上的 “绊脚石”。人工盘点&#xff1a;耗时耗力的 “持久战”…

作者头像 李华