请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于167的时间复杂度

老师,您好。
如果题目改为输出所有的整数对,时间复杂度是不是也会变化呢?
图片描述

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2022-02-27 12:36:17

会。如果输出所有整数对,需要 O(n^2) 的算法。因为在最坏的情况下,整个数组的 n * (n + 1) / 2 个整数对全部满足条件。比如数组中所有元素都是 1,target 是 2。


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_森_12 #1
    那有优化的方法吗?
    回复 有任何疑惑可以回复我~ 2022-02-27 12:47:30
  • liuyubobobo 回复 提问者 qq_森_12 #2
    没有。解最多有这么多,把这些解无论是存储起来,还是打印出来,复杂度就这么高。这就是为什么很多问题不会要求“所有解”。
    回复 有任何疑惑可以回复我~ 2022-02-27 12:50:44
  • 提问者 qq_森_12 回复 liuyubobobo #3
    老师,比如数组[1,1,1,1]
    我上面代码截图的解是:第0个和第3个,第1个和第2个
    而你的说法应该是:
    第0个和第1个,第0个和第2个,第0个和第3个
    第1个和第2个,第1个和第3个
    第2个和第3个
    需要的解法是用双层循环去找
    回复 有任何疑惑可以回复我~ 2022-02-27 13:21:18
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信