logo

用数学法时,为什么需要小心数值溢出/精度?有哪些工程上的处理建议?

With the math approach, why must you be careful about overflow/precision? What practical tips would you apply?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: Algorithms

标签: overflow, integer sqrt

参考答案摘要

答案 S 和 Q 的量级分别是 O(N^2) 与 O(N^3),当 N 较大时 32 位整数极易溢出。 建议:使用 64 位整型;在 C++ 用 long long;在 Java 用 long;在 Python 不担心但要注意性能。 开根号前的判别式 D = A^2 - 4ab 必须非负且为完全平方数(因为答案是整数),实现时可先用 128 位或 big integer 计算再转回。 如果语言浮点...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

用数学法时,为什么需要小心数值溢出/精度?有哪些工程上的处理建议?

Mediummathengineering

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案