>

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

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

文章, 第8页

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的关系!

标签:

leetcode 刷题 Maximum Depth of Binary Tree

树的题目几乎都是用递归来写,没啥说的!

标签:

leetcode刷题 Binary Tree Postorder Traversal

尼玛,自己SB啊!就是一个递归,几行代码搞定的!当然,记得加辅助变量用来保存结果!

标签:

leetcode刷题 Plus One

记住python [1,2]+[3,4,5]=[1,2,3,4,5],其他没啥说的!就是大数用array表示而已!做个加法!

标签:

leetcode刷题 Sort List

单链表排序用归并排序,双链表用快排!找链表中点的代码要非常熟:assert head is not null;slow=fast=head; while(fast.next and fast.next.next){fast=fast.next.next;slow=slow.next;} return slow;此外,归并排序里就是merge函数复杂点,有时候可以使用哨兵元素来降低重复代码!

标签:

leetcode刷题 Read and say

思路其实很简单,就是合并相同的连续数字,例如21111,则合并为241,因为4个1是连续的。记下这个常用记录重复字符串字符的算法:for(i=0;i lt str_len;++i){s=str[i];duplicate_cnt=1;while (i+1) lt str_len and str[i+1]==s(贪婪算法一直找相同的): duplicate_cnt+=1;i+=1;} 字符s重复次数就是duplicate_cnt}。此算法作用非常大,以前google code jam遇到过!

标签:

leetcode刷题 Candy

其实就是DP啦,凡是看到最优化,求最值之类的题目都用DP去想想吧!对于这些孩子的糖果,你想想,先贪心从左到右扫描一遍,如果右边孩子比左边孩子高,右边孩子获得的糖果是左边孩子糖果数目加1,然后从右边向左边扫描,如果左边的孩子高,则左边的孩子获得的糖果是max(右边孩子糖果树木加1,自己之前已经获得的糖果)。就这么简单。

标签:

要有追求

如果你连追求自己喜欢的人和事物的勇气都没有,就注定是一个失败者!

标签:

产品创新

推动社会进步才是真正的创新!那些砸碎一个旧世界,不重视前人工作的“创新”未必是创新!

标签:

宽容

如果不把悲痛和怨恨留在身后,那么我们的心永远在监狱里,得不到解脱。

标签:

坚持学习

毋庸置疑,最珍贵的财富是不断学习!

标签:

好员工

一个公司迫切需要那些能够对工作积极主动负责的员工!而不是被动等待安排工作!

标签:

别害怕失败

人人都想进天堂,但是没有人愿意去死!

标签:

将欲取之,必先予之

要先有付出,才谈回报!做好产品,才有投资,而不是反过来,那样无异于缘木求鱼了!

标签:

要能容人

海纳百川,我们的FBT才可以做大!多听取不同的意见,包括用户的批评意见!

标签:

leetcode 刷题 Generate Parentheses

其实非常简单,()对应一颗二叉树的两个分支,就是从深度为n的二叉树里面去寻找满足要求的括号组合!深度优先思路。最后神坑的地方就是题目没有说清楚任意位置左边括号必须多余右边括号!

标签:

leetcode刷题 Rotate List

讨厌这种模棱两可的题目!尼玛,k要和链表长度求余题目也不说清!求数组长度并将链表变为环的代码:leng=1;while node.next: node=node.next leng+=1; node.next=head!要熟!

标签:

« 1 2 3 4 5 6 7 8 9 10 » 返回顶部