关于OJ系统的2个疑问(标签-LeetCode|关键词-数组)

关于OJ系统的2个疑问
  1. 为什么很多人创建数组时长度都是题目要求最大长度+10
    比如题目数据范围是最多300*100=30000个数据,题解很多人数组长度设的30010

  2. 有一类题型,是题目提供接口,我们去实现接口。这种情况是不是无法本地调试?

  • 比如LeetCode

    img

  • 比如PTA

    img


    LeetCode这种,完全只有函数框架
    PTA这种,已经给出了完整代码的一部分(图中的Read函数无法得知内容)
    这两种情况是不是无法本地调试了,只能在平台上在线调试?因为输入的规则和逻辑不知道,特别是PTA那个Read我没看明白,只知道它大概是用来输入数据的。

“多一少一”问题占程序员常犯错误的10%以上!
避免“多一少一”问题的方法之一是将比如<10甚至<5的数代入程序片断,掰手指头心算验证一下程序到底应该写为
x、x-1、x+1中的哪个?
<、<=、==、>、>=中的哪个?
——————————————————————————————————————
90%的程序员写出的代码运行时数组越界而不自知。
——————————————————————————————————————
其实电脑开机后物理内存的每个字节中都有值且都是可读写的,从来不会因为所谓的new、delete或malloc、free而被创建、销毁。区别仅在于操作系统内存管理模块在你读写时是否能发现并是否采取相应动作而已。操作系统管理内存的粒度不是字节而是页,一页通常为4KB。