LeetCode_算法及数据结构覆盖统计
【输入】共计151道题的算法&数据结构基础数据 (见附录A)
【输出-算法】其中有算法记录的共计 97道 ,统计后
grep -v 'N/A' sf |sort |uniq -c |sort -nrk
结果如下 top3(递归,动态规划,回溯)
递归
动态规划
回溯
BFS
类二分查找
循环遍历
二分查找
BFS|前序遍历
类快速排序
类二进制
合并排序
前序遍历
位运算
矢量旋转与平移
后序中序遍历
前序中序遍历
类杨氏矩阵
类合并排序
背包问题
类外排序
插入排序
后续遍历
中序遍历
算法
类BFS
STL经典算法
STL函数
KMP算法
【输出-数据结构】其中数据结构记录共有66道题
grep -v 'N/A' sjjg |sort |uniq -c |sort -nrk
结果如下(top3 二叉树 ,链表,哈希表)
20 二叉树
15 链表
10 哈希表
8 堆栈
6 数组
4 队列
3 矩阵
附录基础数据
【附录A】
题目 | 算法 | 数据结构 | 注意事项 |
Clone Graph | BFS | 哈希表 | |
Word Ladder II | BFS | 哈希表 | |
Surrounded Regions | BFS | 矩阵 | |
Word Ladder | BFS | N/A | |
Binary Tree Level Order Traversal | BFS|前序遍历 | 队列 | |
Binary Tree Level Order Traversal II | BFS|前序遍历 | 队列 | |
Binary Tree Zigzag Level Order Traversal | BFS|前序遍历 | 队列 | 每一层顺序分别对待 |
Implement strStr() | KMP算法 | N/A | |
Copy List with Random Pointer | N/A | 哈希表 | |
Remove Duplicates from Sorted Array | N/A | 哈希表 | |
Remove Duplicates from Sorted Array II | N/A | 哈希表 | |
Set Matrix Zeroes | N/A | 哈希表 | |
Anagrams | N/A | 哈希表 | |
First Missing Positive | N/A | 哈希表 | |
Two Sum | N/A | 哈希表 | |
Evaluate Reverse Polish Notation | N/A | 堆栈 | |
Largest Rectangle in Histogram | N/A | 堆栈 | 记录重要位置 |
Minimum Window Substring | N/A | 堆栈 | |
Simplify Path | N/A | 堆栈 | |
Longest Valid Parentheses | N/A | 堆栈 | |
Valid Parentheses | N/A | 堆栈 | 词法分析 |
Container With Most Water | N/A | 堆栈 | 记录重要位置 |
Reverse Words in a String | N/A | 堆栈 | 翻转字符串 |
Best Time to Buy and Sell Stock | N/A | 数组 | |
Best Time to Buy and Sell Stock II | N/A | 数组 | |
Best Time to Buy and Sell Stock III | N/A | 数组 | |
Length of Last Word | N/A | 数组 | |
Search Insert Position | N/A | 数组 | |
Search for a Range | N/A | 数组 | |
Spiral Matrix | N/A | 矩阵 | 简化为子问题 |
Spiral Matrix II | N/A | 矩阵 | 简化为子问题 |
LRU Cache | N/A | 链表 | |
Reorder List | N/A | 链表 | 快慢指针&链表倒序 |
Linked List Cycle | N/A | 链表 | 快慢指针 |
Linked List Cycle II | N/A | 链表 | 快慢指针 |
Reverse Linked List II | N/A | 链表 | |
Partition List | N/A | 链表 | |
Remove Duplicates from Sorted List | N/A | 链表 | |
Remove Duplicates from Sorted List II | N/A | 链表 | |
Merge Two Sorted Lists | N/A | 链表 | |
Rotate List | N/A | 链表 | 快慢指针 |
Reverse Nodes in k-Group | N/A | 链表 | |
Swap Nodes in Pairs | N/A | 链表 | |
Remove Nth Node From End of List | N/A | 链表 | 快慢指针 |
Text Justification | N/A | 队列 | |
Candy | N/A | N/A | 简化为子问题 |
Valid Palindrome | N/A | N/A | 首尾指针 |
Plus One | N/A | N/A | 模拟加法运算 |
Valid Number | N/A | N/A | 词法分析 |
Add Binary | N/A | N/A | 模拟加法运算 |
Insert Interval | N/A | N/A | |
Merge Intervals | N/A | N/A | |
Multiply Strings | N/A | N/A | 模拟乘法运算 |
Trapping Rain Water | N/A | N/A | |
Valid Sudoku | N/A | N/A | |
Roman to Integer | N/A | N/A | |
Integer to Roman | N/A | N/A | |
Palindrome Number | N/A | N/A | |
Reverse Integer | N/A | N/A | |
ZigZag Conversion | N/A | N/A | |
Add Two Numbers | N/A | N/A | 模拟加法运算 |
Median of Two Sorted Arrays | N/A | N/A | |
String to Integer (atoi) | STL函数 | N/A | |
Next Permutation | STL经典算法 | N/A | |
Recover Binary Search Tree | 中序遍历 | 二叉树 | |
3Sum | 二分查找 | N/A | |
3Sum Closest | 二分查找 | N/A | |
4Sum | 二分查找 | N/A | |
Single Number | 位运算 | N/A | |
Single Number II | 位运算 | N/A | |
Construct Binary Tree from Preorder and Inorder Traversal | 前序中序遍历 | N/A | |
Binary Tree Preorder Traversal | 前序遍历 | 二叉树 | |
Flatten Binary Tree to Linked List | 前序遍历 | 二叉树 | |
Interleaving String | 动态规划 | 二叉树 | |
Unique Binary Search Trees | 动态规划 | 二叉树 | |
Word Break | 动态规划 | N/A | |
Word Break II | 动态规划 | N/A | |
Palindrome Partitioning | 动态规划 | N/A | |
Palindrome Partitioning II | 动态规划 | N/A | |
Triangle | 动态规划 | N/A | |
Distinct Subsequences | 动态规划 | N/A | |
Decode Ways | 动态规划 | N/A | |
Scramble String | 动态规划 | N/A | |
Maximal Rectangle | 动态规划 | N/A | |
Edit Distance | 动态规划 | N/A | |
Climbing Stairs | 动态规划 | N/A | |
Minimum Path Sum | 动态规划 | N/A | |
Unique Paths | 动态规划 | N/A | |
Unique Paths II | 动态规划 | N/A | |
Jump Game | 动态规划 | N/A | |
Jump Game II | 动态规划 | N/A | |
Maximum Subarray | 动态规划 | N/A | |
Wildcard Matching | 动态规划 | N/A | |
Substring with Concatenation of All Words | 动态规划 | N/A | |
Sort List | 合并排序 | 链表 | 快慢指针 |
Merge Sorted Array | 合并排序 | N/A | |
Construct Binary Tree from Inorder and Postorder Traversal | 后序中序遍历 | N/A | |
Binary Tree Postorder Traversal | 后续遍历 | 二叉树 | |
Combinations | 回溯 | N/A | |
Permutation Sequence | 回溯 | N/A | |
N-Queens | 回溯 | N/A | |
N-Queens II | 回溯 | N/A | |
Permutations | 回溯 | N/A | |
Permutations II | 回溯 | N/A | |
Combination Sum | 回溯 | N/A | |
Combination Sum II | 回溯 | N/A | |
Sudoku Solver | 回溯 | N/A | |
Longest Substring Without Repeating Characters | 回溯 | N/A | |
Max Points on a Line | 循环遍历 | N/A | 排除相同的点 |
Longest Common Prefix | 循环遍历 | N/A | |
Longest Palindromic Substring | 循环遍历 | N/A | |
Insertion Sort List | 插入排序 | 链表 | |
Rotate Image | 矢量旋转与平移 | N/A | |
Longest Consecutive Sequence | 类BFS | 哈希表 | |
Search in Rotated Sorted Array | 类二分查找 | N/A | |
Search in Rotated Sorted Array II | 类二分查找 | N/A | 特殊考虑相等数据 |
Sqrt(x) | 类二分查找 | N/A | |
Pow(x, n) | 类二进制 | N/A | |
Divide Two Integers | 类二进制 | N/A | |
Gas Station | 类合并排序 | N/A | |
Merge k Sorted Lists | 类外排序 | N/A | |
Sort Colors | 类快速排序 | N/A | |
Remove Element | 类快速排序 | N/A | |
Search a 2D Matrix | 类杨氏矩阵 | N/A | |
Restore IP Addresses | 背包问题 | N/A | |
Sum Root to Leaf Numbers | 递归 | 二叉树 | |
Binary Tree Maximum Path Sum | 递归 | 二叉树 | |
opulating Next Right Pointers in Each Node | 递归 | 二叉树 | |
Populating Next Right Pointers in Each Node II | 递归 | 二叉树 | |
Path Sum | 递归 | 二叉树 | |
Path Sum II | 递归 | 二叉树 | |
Maximum Depth of Binary Tree | 递归 | 二叉树 | |
Minimum Depth of Binary Tree | 递归 | 二叉树 | |
Balanced Binary Tree | 递归 | 二叉树 | |
Symmetric Tree | 递归 | 二叉树 | |
Same Tree | 递归 | 二叉树 | |
Validate Binary Search Tree | 递归 | 二叉树 | |
Unique Binary Search Trees II | 递归 | 二叉树 | |
Binary Tree Inorder Traversal | 递归 | 二叉树 | |
Pascal's Triangle | 递归 | N/A | |
Pascal's Triangle II | 递归 | N/A | |
Convert Sorted List to Binary Search Tree | 递归 | N/A | 快慢指针&反中序遍历 |
Convert Sorted Array to Binary Search Tree | 递归 | N/A | 反中序遍历 |
Subsets | 递归 | N/A | |
Subsets II | 递归 | N/A | |
Gray Code | 递归 | N/A | |
Word Search | 递归 | N/A | |
Count and Say | 递归 | N/A | |
Generate Parentheses | 递归 | N/A | |
Letter Combinations of a Phone Number | 递归 | N/A | |
Regular Expression Matching | 递归 | N/A |
转载:http://blog.csdn.net/lanxu_yy/article/details/17848219
最近完成了www.leetcode.com的online judge中151道算法题目。除各个题目有特殊巧妙的解法以外,大部分题目都是经典的算法或者数据结构,因此做了如下小结,具体的解题思路可以搜索我的博客:LeetCode题解
LeetCode_算法及数据结构覆盖统计的更多相关文章
- 浅谈算法和数据结构: 七 二叉查找树 八 平衡查找树之2-3树 九 平衡查找树之红黑树 十 平衡查找树之B树
http://www.cnblogs.com/yangecnu/p/Introduce-Binary-Search-Tree.html 前文介绍了符号表的两种实现,无序链表和有序数组,无序链表在插入的 ...
- 算法与数据结构(一) 线性表的顺序存储与链式存储(Swift版)
温故而知新,在接下来的几篇博客中,将会系统的对数据结构的相关内容进行回顾并总结.数据结构乃编程的基础呢,还是要不时拿出来翻一翻回顾一下.当然数据结构相关博客中我们以Swift语言来实现.因为Swift ...
- PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类
一.程序设计 1.设计功能系统——数据表设计.数据表创建语句.连接数据库的方式.编码能力 二.框架基础知识 1.MVC框架基本原理——原理.常见框架.单一入口的工作原理.模板引擎的理解 2.常见框架的 ...
- python 下的数据结构与算法---2:大O符号与常用算法和数据结构的复杂度速查表
目录: 一:大O记法 二:各函数高阶比较 三:常用算法和数据结构的复杂度速查表 四:常见的logn是怎么来的 一:大O记法 算法复杂度记法有很多种,其中最常用的就是Big O notation(大O记 ...
- JavaScript算法与数据结构知识点记录
JavaScript算法与数据结构知识点记录 zhanweifu
- Linux内核中的算法和数据结构
算法和数据结构纷繁复杂,但是对于Linux Kernel开发人员来说重点了解Linux内核中使用到的算法和数据结构很有必要. 在一个国外问答平台stackexchange.com的Theoretica ...
- Python算法与数据结构--求所有子数组的和的最大值
Python算法与数据结构--求所有子数组的和的最大值 玄魂工作室-玄魂 玄魂工作室秘书 玄魂工作室 昨天 题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个 ...
- 【算法与数据结构专场】BitMap算法基本操作代码实现
上篇我们讲了BitMap是如何对数据进行存储的,没看过的可以看一下[算法与数据结构专场]BitMap算法介绍 这篇我们来讲一下BitMap这个数据结构的代码实现. 回顾下数据的存储原理 一个二进制位对 ...
- 使用python解决算法和数据结构--使用栈实现进制转换
可以将10进制数据转换成2进制,8进制,16进制等. 晚上练练算法和数据结构哈. # coding = utf-8 class Stack: def __init__(self): self.item ...
随机推荐
- poj 1466 Girls and Boys (最大独立集)
链接:poj 1466 题意:有n个学生,每一个学生都和一些人有关系,如今要你找出最大的人数.使得这些人之间没关系 思路:求最大独立集,最大独立集=点数-最大匹配数 分析:建图时应该是一边是男生的点, ...
- 开发一个Swing功能时的一点总结
对JTextField进行效验,有两个途径:(1)是使用javax.swing.InputVerifier在获取焦点时进行校验(2)在点击“确定”按钮的监听事件中对控件的值进行校验 鉴于涉及的业务比较 ...
- [ACM] POJ 3686 The Windy's (二分图最小权匹配,KM算法,特殊建图)
The Windy's Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 4158 Accepted: 1777 Descr ...
- VMware workstation 10.0的永久key
MA491-6NL5Q-AZAM0-ZH0N2-AAJ5A5A6F6-88247-XZH59-HL0Q6-8CD2VHF6QX-20187-2Z391-522NH-9AELT5F29M-48312-8 ...
- c++内存泄漏处理(积累)
写c++程序时,常常会出现内存泄漏的问题,这里从网上找了一种非常麻烦的方法:假设想找到每一个cpp文件的内存泄漏,都必须在每一个cpp加上例如以下代码: #include <crtdbg.h&g ...
- java使用Base64编码和解码的图像文件
1.编码和解码下面的代码示例看: import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import j ...
- SQL于union, EXCEPT 和 INTERSECT用法
这三个放在一起是有道理的,因为它们运行两个或两个以上的结果集,而这些结果对例如设置以下限制: 列的数目和所有查询必须是相同的列顺序. 数据类型必须兼容. 而且它们都是处理于多个结果集中有反复数据的 ...
- 首先看K一个难看的数字
把仅仅包括质因子2.3和5的数称作丑数(Ugly Number),比如:2,3,4,5,6,8,9,10,12,15,等,习惯上我们把1当做是第一个丑数. 写一个高效算法,返回第n个丑数. impor ...
- Java 新特性(7) - Java EE 7 新特性
http://www.ibm.com/developerworks/cn/java/j-lo-javaee7/ 新特性主要集中在: 1. 提高开发人员的生产力 2. 加强对 HTML5 动态可伸缩应用 ...
- C#依据word模版动态生成文档
新生开学,各院系辅导员代领校园卡.需要打印一份领取卡的协议,协议模版固定,但各院系卡的数量不同.需要从excel表格中抽取数据往word文件中填,同事咨询是否可以用word中的邮件合并功能,心想有这功 ...