Re: [问题] 大一程设作业想法求解

楼主: thefattiger (LT)   2018-10-19 10:55:30
※ 引述《y995526 (kn)》之铭言:
: 大家安安,
: 我这题缴交到online judge的时候TLE(1000ms)了,
: 我想了很久还是不知道怎么改善它的速度,
: 希望有大大可以提供我一些想法QQ
: 感激不尽~
: 看起来好像是在19行~26行慢掉了
: 学校目前只教了循环、条件判断、阵列
: 还没教指标、Linked List那些,
: 所以应该有快又简单的解法(?)
: 题目:
: https://imgur.com/zabzLx2
: https://imgur.com/M6F5KuH
: 我打的Code:
: https://imgur.com/PSPSG7U
我没看题目,只看你提的19~26行
这边要做的是看request里面有没有重复的数字,有的话设为0吧
你现在的写法是O(n^2)
如果是C++可以用std::unordered_set (set class implemented by hashing)
纯C的话可能就要自己刻一个简单的来用了
这样可以用一个循环就完成,达到O(n)
把每次遍历到的值纪录到set, 如果该值已经存在于set就把这个index的值设为0
不过新手的话用现在这种简朴的做法也没什么不可
以后学的工具越来越多自然会知道怎么优化

Links booklink

Contact Us: admin [ a t ] ucptt.com