摘要:
unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素(key)是无序的,而map中的元素是按照... 阅读全文
摘要:
链表的回文检测有关链表的回文检测,用到的就是链表操作中常常用到的双指针的方法,找到链表的中点位置,然后依次对比两边的结点。但是在找链表的中点的时候要注意链表的总个数是偶数或者奇数的两种情况。1.找链表的中点位置,并把中点以前的各个结点的值存入到栈中。2.针对偶数或者奇数个链表结点,对中点结点做一个小... 阅读全文
摘要:
链表逆序给定一个链表,一般的逆序的方法要设置三个指针,这种操作很繁琐,下面总结一种简单的方法:为链表设置一个头结点,然后head后面的节点依次的插入到head结点之前。最后完成链表的逆序。代码实现:ListNode* reverseList(ListNode* head) { ... 阅读全文
摘要:
问题描述:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法这里如果直接每次的计算乘积的话,时间复杂度为O(n2),所以可以使用动态规划的思想,保存中... 阅读全文
摘要:
固定字符串的第一个不重复的字符有关这个题目可以有很多的考察方式,但是本质的一个方法就是利用Hash表,来降低时间复杂度。先看第一个题目,给定一个字符串,找到这个字符串的第一个不重复的字符:在一个字符串(1= 0) { hash_table[ch] = -2; ... 阅读全文
摘要:
根据抽到的5张扑克牌,判断是不是顺子。注意:大小王可以随便的代替任何的牌。bool IsContinuous( vector numbers ) { int i = 0; int length = numbers.size(); if(length numberOfZero ? false... 阅读全文
摘要:
翻转小段单词其实翻转字符串能够通过多次的字符串的逆序实现,这里主要学习一下,怎么提取每一个英语单词,然后分别对其逆序。string ReverseSentence(string str) { int size = str.size(); char *pFirst = &str[0... 阅读全文
摘要:
问题描述:求一个字符串的最长回文子串,返回这个子串。这个题目适合用动态规划的方式求解:代码实现:string longestPalindrome(string s) { int size = s.size(); int dp[1000][1000] = {0}; int left = 0; int ... 阅读全文
摘要:
http://www.cnblogs.com/grandyang/p/4606334.html 阅读全文