LeetCode286

小新第一次的文章

  • 记录刷题的简单思路

记录刷题的简单思路

今天的展示主要是leetCode268缺失的数字
关于这道题,一开始的思路是,求得向量中的数字的个数,在求得向量的中的最大值,用最大值来求取整个向量一共的总和(即加上缺失数字一共应该有的总和),再用数字的个数来表示缺失后的个数的总和。用二者的差来表示缺失的数字。在几次提交以后,发现有极端数据,包括[0]、[0,1]等总是存在着不能正确运行的提示。
在后来的搜索过程中,我发现了很多博客上推荐的写法是利用n*(n+1)/2,直接来计算向量和的差值。通过提交,可以通过后台测试。
对原来的思路,我有了新的认识,原来的思路在相加的过程中,少加了最后一个值,即个数没有加到最后一个,零加上去的效果也没有效果。(本部分考虑的是在求和中的等号考虑确实的问题)另外的问题,也是这个思路存在的最大的问题,就是在求最大值中,最大值可能是数据的唯一值,或者说,该数据缺失的就是最大值,那么就会出现两种求和结果相减,得到的结果是零,但并不是我们要求的缺少0这个数字。
本题思考
通过这道题,首先在思考问题时,考虑的边界条件就过于个人化,其次,思路的整理并不够清晰。
还要再接再厉~

你可能感兴趣的:(寒假)