news 2026/4/23 10:42:59

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

作者头像

张小明

前端开发工程师

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/4/18 13:58:55

1112 Stucked Keyboard

#include<iostream> #include<map> #include<set> #include<string> using namespace std; bool sureNobroken[256]; int main(){int k,cnt1;cin>>k;//字符出现次数的阈值string s;cin>>s;map<char,bool>m;//记录是否为坏键set<c…

作者头像 李华
网站建设 2026/4/17 2:41:11

模电复习-二极管及基本电路、半导体材料与PN结特性

本章重点在于二极管的特性、曲线以及基本电路的分析方法&#xff0c;以下是重点知识以及例题常用的半导体材料有哪些&#xff1f; 主要有&#xff1a;硅(Si)、锗(Ge)、砷化镓(GaAs)等。其中硅是最常用、最广泛的半导体材料&#xff0c;因其储量丰富、热稳定性好、氧化膜性能优良…

作者头像 李华
网站建设 2026/4/18 0:54:36

智能决策指南:如何为你的微服务系统挑选合适的事务模式

智能决策指南&#xff1a;如何为你的微服务系统挑选合适的事务模式 【免费下载链接】school-of-sre linkedin/school-of-sre: 这是一个用于培训软件可靠性工程师&#xff08;SRE&#xff09;的在线课程。适合用于需要学习软件可靠性工程和运维技能的场景。特点&#xff1a;内容…

作者头像 李华
网站建设 2026/4/20 1:57:20

网盘直链下载助手:5分钟轻松突破下载限速终极指南

还在为网盘龟速下载而烦恼吗&#xff1f;网盘直链下载助手作为一款免费开源的浏览器脚本工具&#xff0c;能够帮助你快速获取百度网盘、阿里云盘等主流网盘的直链下载地址&#xff0c;让下载速度瞬间提升到满速状态&#xff01;&#x1f680; 【免费下载链接】baiduyun 油猴脚本…

作者头像 李华