不会跑

work for life

29 Jun 2017

LeetCode-Design_Twitter

经典的设计题,以前校招笔试遇到过,题意就是:让你设计一个小的推特系统,能够发推、收到推送、关注和取消关注某人,我的做法是直接采用一个数据表(字典), 然后写的比较复杂,但是逻辑还算清晰,大量的检查异常情况,多次提交后AC;原题链接:http...
29 Jun 2017

LeetCode-Min_Stack

经典的stack相关的设计题,实现一个栈要求能够O(1)时间获取当前栈中最小元素,基本思路是:一个数据栈,另一个栈用栈顶存最小元素,如果弹栈弹得是最小元素,那么最小元素栈也弹栈。原题链接:https://leetcode.com/probl...
29 Jun 2017

LeetCode-Reorder_List

经典的链表题,考查了反转链表和一些细节,题意也很明白,把L0→L1→…→Ln-1→Ln变为L0→Ln→L1→Ln-1→L2→Ln-2→…即可,原题链接:https://leetcode.com/problems/reorder-list/ ...
28 Jun 2017

LeetCode-Partition_List

晚上送妹子回家后做了这个链表的题,怕自己忘了睡前总结下。 题目的意思就是:给定一个链表和一个数,把小于这个数的节点放前边,此外的都移到后边,而且保证两部分的节点原有顺序不变;在自己憋了一个来小时后终于AC了,后来对比其他人的提交结果,发现基...
28 Jun 2017

LeetCode-Linked_List_Cycle_II

判断链表是否存在循环的变形题,需要你找出链表循环的开始节点,解题思路:先用快慢指针便利链表知道快慢指针指向同一个节点,然后让快指针从head重新开始走,这次每个指针一次只走一步,再一次指向相同节电的第一个就是要找的节点; 可以用简单的数学推...
28 Jun 2017

LeetCode-Linked_List_Cycle

经典的链表题,判断一个链表是否存在循环,而且不许使用额外的空间,解题思路:只要分别设定一个快慢指针,当快慢指针重合时就证明有循环,原题链接:https://leetcode.com/problems/linked-list-cycle/ G...
28 Jun 2017

LeetCode-Copy_List_with_Random_Pointer

一个比较经典的链表操作题,深度复制一个链表,链表包含一个next指针和一个random的指针,目前比较多的方法是hash表和自我复制法(在自己后面加一个自己),我写的是第二种方法需要注意的细节比较多,后面加了别人的hash表方法,原题链接:...
28 Jun 2017

LeetCode-Remove_Nth_Node_From_End_of_List

比较简单的一个题,意思就是删除链表中倒数第几个节点,需要最后考虑下删除的是否恰巧为头节点,原题链接:https://leetcode.com/problems/remove-nth-node-from-end-of-list/ Given ...
23 Jun 2017

LeetCode-Longest_Increasing_Subsequence

经典的dp题目:最长增长子序列,都是dp的方法但是时间复杂度分别为O(N^2)、O(NlogN);原题链接:https://leetcode.com/problems/longest-increasing-subsequence/ Give...
23 Jun 2017

Python三目运算符两种写法及exec的用法

三目运算符第一种写法: In [302]: a = 1 if 5 > 3 else 0 In [303]: a Out[303]: 1 In [304]: a = 1 if 2 > 3 else 0 In [305]: a Ou...