【LeeCode】数组总结

二分法
  • 暴力解法时间复杂度:O(n)

  • 二分法时间复杂度:O(logn)

循环不变量原则

双指针法

双指针法(快慢指针法):通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。

  • 暴力解法时间复杂度:O(n^2)

  • 双指针时间复杂度:O(n)

数组中的元素为什么不能删除,主要是因为以下两点:

  • 数组在内存中是连续的地址空间,不能释放单一元素,如果要释放,就是全释放(程序运行结束,回收内存栈空间)。

滑动窗口
  • 暴力解法时间复杂度:O(n^2)

  • 滑动窗口时间复杂度:O(n)

滑动窗口的精妙之处在于根据当前子序列和大小的情况,不断调节子序列的起始位置。从而将O(n^2)的暴力解法降为O(n)。

模拟行为

循环不变量原则真正解决题目的代码都是简洁的,或者有原则性的。

你可能感兴趣的:(#,LeeCode,面试,职场和发展)