数据结构与算法
文章平均质量分 79
yongyongjiaojiao
这个作者很懒,什么都没留下…
展开
-
[基本数据结构与算法]之字符串
1. 判断一个字符串中是否全部字符都是唯一的,不允许使用额外的数据结构。 额外的数据结构?是否允许使用常量的数组? 如果可以,则使用256长度的bool数组记录对应字符出现与否,时间复杂度O(n)。 如果不可以,则时间复杂度O(n^2)。 2.原创 2013-10-15 14:45:38 · 349 阅读 · 0 评论 -
[基本数据结构与算法]之数组
1. MxN的矩阵,若某个元素值为0,则将其所在的行和列全置为0。 定义行数组rows,列数组cols。如果a[i][j]为0,则将rows[i]和cols[j]置为true。 当遍历完整个a数组后,根据rows和cols的值对矩阵进行修改。 2. 数组a,将a[0]...a[p]和a[p+1]...a[n-1]这两段交换位置。只允许使用O(1)的额外空间。 将数组这两段分别逆序。然后将整原创 2013-10-15 15:59:30 · 326 阅读 · 0 评论 -
[基本数据结构与算法]之链表
void ReverseLink(ListNode *head) { if(head == NULL || head->next == NULL) return; // no nodes or one node, no need to reverse LinkNode *p1 = head; LinkNode *p2 = head->next; LinkNode *p3;原创 2013-10-15 10:08:32 · 409 阅读 · 0 评论 -
[基本数据结构与算法]二叉树
1. 二叉树的遍历 1) 深度优先,前序 void preorder(TreeNode *root) { if(root == NULL) return; TreeNode *cur = root; stack st; while(cur!=NULL || !st.empty()) { if(cur != NULL)原创 2013-10-16 10:09:34 · 401 阅读 · 0 评论 -
[leetcode]位操作总结
1. 异或 1) Single Number a^a = 0, a^0 = a 所以出现两次的整数异或得到0,只出现一次的数异或0得到它本身。 2. 综合 1) Single Number II 如何记录目前出现一次,两次,三次的整数呢? 用三个变量one,two,three分别记录出现一次,两次,三次的数字。 一个变量第一次出现时,只记录到one中;第二次出现时,记录到t原创 2013-10-16 16:23:36 · 437 阅读 · 0 评论 -
[leetcode]回溯总结
回溯的关键点:递归函数的参数设计,递归之前push_back,递归之后pop_back。 1) Word Break II 首先使用动态规划计算出子串s[i]...s[j]是否能够被分割成多个单词。(见Work Break) 然后递归的创建句子。递归函数的参数有当前处理的s的开头下标begin,当前已经选择了的单词的集合temp,最终结果的集合result。 当begin到达s的末尾时,说原创 2013-10-18 09:39:41 · 528 阅读 · 0 评论 -
[leetcode]数组总结
1. 找递增或递减序列 while(endratings[end-1]) { candies[end] = candies[end-1] + 1; end++; } 2. 加油站问题 n个加油站,组成一圈,每个点有加油g[i],每两个点之间耗油c[i]。 判断能不能从一个点出发绕一圈?只要g[i]之和大于等于c[i]之和即可。 找到一个合理的起点。计算v[原创 2013-10-18 09:48:07 · 308 阅读 · 0 评论 -
[leetcode]二叉树总结
1. 二叉树的前序遍历 Sum Root to Leaf Numbers: 在前序遍历过程中,对于当前结点,记录从根结点到当前结点组成的数字。当当前结点为叶节点时,将这个数字加到sum上。原创 2013-10-18 10:47:40 · 548 阅读 · 0 评论 -
[leetcode]动态规划总结
1. 两维的动态规划 1) Word Break: f[i, j]表示子串s[i]...s[j]是否可以表示成若干单词组成的句子。 递推公式:如果存在i 初始条件:若f[i,j]就是个单词,则f[i,j]=true。 2) Palindrome Partition f[i,j]表示子串s[i]...s[j]是否可以表示成若干回文的组合。 递推公式:如果s[i]=s[j],则f[i,j原创 2013-10-18 09:39:21 · 1065 阅读 · 0 评论