LeetCode #3:Longest Substring without Repeating Characters(无重复字符的最长子串) 题目描述 本题是滑动窗口的一道典型题,关键是要分析出可以使用滑动窗口来求解(左右指针不会回溯)、把握住滑动窗口左边界右移的条件。在本题中,当滑动窗口右边界遇到重复字符时,需要将左边界右移,直到左右边界区间的字串无重复字符。需要额外设置一个 hashmap 来记录每个字符的出现次数。 阅读全文
LeetCode #2:Add Two Numbers(两数相加) 题目描述 类似于大数加法,只不过是以链表的形式给出两个数,模拟手工加法一位一位相加。如果对加法器比较熟悉就知道本质上这就是实现一个十进制的加法器,一位一位加得出本位和进位,注意一些特殊情况。 阅读全文
LeetCode #22:Generate Parentheses(括号生成) 题目描述 注意到 1 <= n <= 8,用回溯法进行 dfs 即可解决问题。注意添置左右括号的条件——添加后必须有可能在后续的处理中构成合法的括号排列,画一棵递归树就非常清楚了。 阅读全文
LeetCode #912:Sort an Array(排序数组) 题目描述 题意基本上就是把 “默写快排” 四个大字给拍脸上了,调用标准库的 sort 在面试中肯定是没分的【手动狗头 需要注意的是测试用例中存在有序的长数组,如果直接取第一个元素作为快排的枢轴会超时,这里我在每次划分的时候取区间中间的元素作为枢轴来避免超时。 阅读全文