leetcode 135.Candy
来源:互联网 发布:第三方网络销售平台 编辑:程序博客网 时间:2024/06/07 17:56
拓扑排序
题意:
一排小朋友,每个小朋友有一个权值,你要给小朋友发糖,有两个规则.
1.每个小朋友至少有一颗糖
2.如果某个小朋友A的权值比它旁边的小朋友B大,那么A分得的糖应该比B要多.
思路:
思想是拓扑排序+dp.
建一个有向图,对于相邻的A和B,如果A的权值比B大,则B向A建一条边.
建好后,这个图肯定是DAG,然后用类似拓扑排序的顺序对这个DAG进行dp,dp[i]=max(dp[son])+1.
实际上不用建图,直接dp,复杂度O(n).
总结:
建一个DAG,在上面拓扑排序地dp.
0 0
- [LeetCode]135.Candy
- 135. Candy Leetcode Python
- [Leetcode] 135. Candy
- [leetcode] 135.Candy
- [leetcode] 135. Candy
- leetcode 135. Candy
- leetcode 135. Candy
- [LeetCode]135. Candy
- LeetCode 135. Candy
- Leetcode 135. Candy
- leetcode.135. Candy
- LeetCode 135. Candy
- [leetcode] 【数组】 135. Candy
- LeetCode-135.Candy
- LeetCode 135. Candy
- Leetcode 135. Candy
- leetcode-135. Candy
- [LeetCode] 135. Candy
- Socket 网络编程
- clock() / time() 函数
- java中几种获取项目路径方式
- Andriud Intent實現頁面的跳轉
- 预编译头(.pch)
- leetcode 135.Candy
- Android判断网络是否可用
- HDU 1864
- 页面切换特效
- fopen()函数的使用
- 详细解说Tomcat 设置虚拟路径的几种方法及为什么设置虚拟路径
- hdu5904
- 类与对象,类的构造方法和初始化块,private修饰符,this,继承与父类
- android程序开发——自定义View(一)