>

自由软件精神——“自由、开放、分享”。自由软件自诞生之日起,就秉承了学术自由的思想,信奉科学无国界,知识应该全人类共享。

ubuntu精神——人道待人,天下共享连接人人的信念。具有 ubuntu 精神的人心胸开阔,乐于助人,见贤思齐而不忌妒贤能......

文章来源 2014.10, 页 1

leetcode刷题 Length of Last Word

我++,这个题目是侮辱我智商!

标签:

leetcode刷题 Symmetric Tree

树的题目多用递归求解!分解为子问题才是关键(全局思考)!其实判定一颗2叉树是不是对称的,分解为判定树的2个子结点是不是相等即可。

标签:

leetcode 刷题 Add Binary

记住大数相加是酱紫:sum=0 for i in bits(0~len): c=bits[i]+bits2[i]+sum; if c exeed 10: sum=1; else: sum=0; after the iteration, if sum=1: 补上最高位的1!

标签:

依然是层序遍历,其实就是一个队列,但是由于结果是以二维数组返回的,所以需要计数,每次从queue取出每层节点个数那么多nodes出来,然后用list保存起来,同时将该层所有nodes的下一层子节点加入到队列中。

标签:

leetcode 刷题 Balanced Binary Tree

求二叉树高度: def height(root): if root is null: return 0; else: return 1+max(height(root.left),height(root.right))!了然!叶子节点的高度是1!平衡二叉树就是 height(root.left)-height(root.right)<=1 且 左右子树是平衡的!

标签:

leetcode 刷题 Valid Palindrome

就是回文字符串的判定!先map将所有的变为小写,然后再grep,然后就是for i in range(0,leng/2): if str[i]!=str[len-1-i]: return false即可!此外ptrhon写判定是否为数字或者字符,方法:ord('A')<=ord(c)<=ord('Z') or ord('0')<=ord(c)<=ord('9')!

标签:

Find leetcode 刷题 Merge Sorted Array

就是归并排序中的合并2个有序数组问题,解决方法如下: k=m+n-1,i=n-1,j=m-1; while k ge 0: if i ge 0 and j ge 0: C[k]=min(A[i],B[j]), i or j -=1; else: if i ge 0: C[k]=A[i]; i-=1; else: C[k]=B[j]; j-=1 !要非常熟!

标签:

奋斗

奋斗就是每天都很难,但是一年却比一年过得容易!不奋斗就是感觉每天都过得容易,但是一年却比一年难!

标签:

招人原则

招那些比你更强的人!信任他们,并让他们放手去做!

标签:

海纳百川,学会包容

海纳百川,学会包容

标签:

FBT技术核心理念

要有创新,敢于突破!

标签:

要有担当

在团队里都不能抱着事不关己、高高挂起的心态,要有担当,维护团队就是维护自己,成就他人才能成就自己!

标签:

回馈社会

无论再穷,这个世界上总有比自己更不幸的人,要懂得感恩,回馈社会和我们身边的人!

标签:

面试经验

不要突出强烈的创业愿景!否则就是找死!

标签:

leetcode 刷题 Pascal's Triangle

就是杨辉三角生成,判当前行和上一行元素的关系即可,如果是第一个和最后一个,则copy过来就行。否则是上一行相邻两个元素的和!

标签:

其实就是二分,只是根据arr[mid]和a[0]的关系判定,mid是落在左半段还是右半段。

标签:

01背包问题和完全背包问题

就是DP,要熟悉,01背包问题的代码:用一个数组f[i][j]表示,在只有i个物品,容量为j的情况下背包问题的最优解,那么当物品种类变大为i+1时,最优解是什么?第i+1个物品可以选择放进背包或者不放进背包(这也就是0和1),假设放进背包(前提是放得下),那么f[i+1][j]=f[i][j-weight[i+1]+value[i+1];如果不放进背包,那么f[i+1][j]=f[i][j]。其实就是2个循环搞定!如果是完全背包,f[i+1][j]=max(f[i][j-k*weight[i+1]+k*value[i+1]),其中k为0~V/weight[i+1]。

标签:

hihocoder 补交题卡

就是求固定长度子数组的最大和。没啥说的,写代码的时候直接,s=sum(arr,0,m);for(i=m+1;i lt size;++i) max=s-arr[i-m-1]+arr[i];.....

标签:

Trie树

hihocoder上的东西!尼玛,struct TrieNode{ int count; TrieNode* children; };插入结点就是,node=root,i=0,while(i lt word.size()){if(node.children is NULL) node.children=new TrieNode[26];node=node.children[i];i+=1;},本质就是链表遍历啊!要熟悉!

标签:

其实就是二分变种!只不过你需要根据A[mid]和A[l],A[r]的关系来判断单调关系,然后决定l,r和mid的关系!

标签:

1 2 » 返回顶部