Cat
对于 prombel5 autocorrect中的要求:差异值相同时,输出列表靠前的单词,最开始以为自己灵机一动——倒序循环,一直更新(可以免去判断位置前后的判断),这样就可以取出最小最靠前的啦,于是便有了下面的代码:
1 | res = 1000 |
由于判断条件多,设置了很多量来存储,隐隐约约能感觉到写的很冗余,测试的时候只过了103个
(一共104个,其实在第四个就测试不过了,查完测试文档,我想知道是否只有这个过不了,就把他删再测试结果剩下103个全过),第四个的word_list是一个有几十万个单词的列表,我去查了其中的文档,找他的测试案例编写了一个相对位置一样的简化例子,简化例子能输出正确答案,我不知道哪里出了问题
去问了GPT,他认为我的反转带来了错误,我解释完我的代码他又认可了(他之前忽略了我其中一个判断条件diff - pre == 0,这是防止差异值相同的判断。)依旧没找出问题,但GPT写的代码就很简洁了,值得学习,我冗余的部分被修改的明明白白:
1 | check = about2(word_list) |
看完他的代码我才知道我的“灵光一闪”挺搞笑的,差异值没有原先的小直接不更新就好了,反转更麻烦···,GPT的代码是可以通过所有案例的。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.