Loading...
墨滴

Shinkai005

2021/12/14  阅读:50  主题:红绯

leetcode刷题心得

  1. 基础api提升非常大. 甚至学会了很多花活

  2. 逻辑更缜密

  3. 不小巧任何一道简单题,不过分看待任何一道难题

    1. 经常会遇到难的简单题,和简单的难题
    2. 难简单不是自己标记的是他们,他们难自己就难?
  4. 测试用例很重要, 很多都是感觉自己无敌的代码,提交就错,甚至提交好几次还错.

    1. 测试是必须的步骤,不能省略.
    2. 测试用例对临界值判断很nice.
  5. 学了一些思路

    1. 比如, 有的时候不需要交换元素,
    2. 甚至不需要额外空间,在当前空间修改,返回特定片段就好
      1. 例如, 排序时候,后面元素不断往前面插入, 再找自己位置的时候,不需要不断的往前换。只需要把前面的值往后赋值,等找到自己的位置,再把自己的值赋值过去。 这样可以少了很多的赋值步骤。(虽然理论上不会消耗几毛资源,但是确实是思维性能的提升。细节提升)
      2. 其实这个思路一直再用
        1. 比如, 合并多个链表, 链表本身直接把指针指向下一个链表的头,这样链表所有的内容都会链接过来.但是我们的操作大多是链接过来后再修改之后的链表指针走向. 就类似我说的不需要修改元素,甚至都不需要额外空间
        2. 再进一步解释一下, 比如数组 0-9 十个数字,排序后返回0-4 就会返回5个数字,根本不需要新的空间来进行存储.
  6. 刷力扣一定要记住一点, 他给的例子真的误导性非常大, 一定要自己根据题目要求自己再写几个例子.

    就像这道题, 题目根本没说是有序的,但是他给的例子都是有序,如果不排序,甚至自己的测试用例也是升序提交就一定出错了.

Shinkai005

2021/12/14  阅读:50  主题:红绯

作者介绍

Shinkai005