Java 失败率排序:分母、并列与 long 交叉乘积
统计停留和到达人数,用 long 交叉乘积精确比较失败率,处理无人到达、全部通关和关卡编号的并列规则。
java / algorithms↗
关于 Java、Spring、测试与软件工程的实践笔记和来源参考。
全部文章 →统计停留和到达人数,用 long 交叉乘积精确比较失败率,处理无人到达、全部通关和关卡编号的并列规则。
用按访问顺序排列的 LinkedHashMap 模拟 LRU,检查命中刷新、淘汰、忽略大小写的键、零容量与成本模型的假设。
用 Optional 链和循环实现 ID 规范化,检查连续点合并、过滤后的空值、截断后清理、补齐和区域设置独立性。
用栈消除相邻相同字符对,说明前缀不变式、连锁删除、百万字符边界及时间和空间开销。
通过字面量替换规范化数字与 zero 到 nine 单词的有效混合输入,区分 replace 与 replaceAll,并说明整数范围和适用条件。
使用 HashMap 将完赛频次从参赛频次中扣除,处理重名,说明为什么不能用 Set 差集及只有一名未完赛者的条件。
使用 IntStream 生成从 x 到 x*n 的 n 个值,说明为什么仅用 mapToLong 不能避免 int 溢出,并检查正、负和零步长。
用 HashSet 统计不同种类,并证明选择上限可达。区分计算最大种类数与构造具体选择。
使用 IntStream 将两个数组对应元素相乘后求和,理解符号、int 范围,以及为何必须在乘法溢出前提升操作数类型。
用 IntStream 组合绝对值与对应的布尔符号,检查正负抵消、全负输入、int 范围以及数组等长的约定。