问题陈述:-给定一个整数数组和一个整数k,请打印该数组中所有总和为k的对
方法1:- 对数组进行排序,并保持两个指针的高低,开始迭代...
时间复杂度-O(nlogn)
空间复杂度-O(1)
方法2:- 将所有元素保留在字典中并进行处理
时间复杂度-O(n)
空间复杂度-O(n)
现在,在以上两种方法中,哪一种是最有效的,在这种情况下,由于两种方法都不同,因此我将在哪种基础上比较效率,时间(或)空间
答案 0 :(得分:0)
底线:如果O标记可以识别“超支成本”(通过比较使其他成本可以忽略不计),但没有用例的提示(典型和边界,数据量和可用系统资源等详细信息等),则很有用。 ),这样的问题(寻求“广义理想”答案)无法从中受益。
通常,一些简单的概念验证代码和对代表性数据的性能测试可以使“正确的选择”变得显而易见(比推测性理论更容易,通常更正确)。
最后,在没有明确的性能赢家的情况下,总会有“代码可读性”来帮助做出决定;-)