采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
因为平时做oj都有....突然没有一下好多不明白..
leetcode的很多问题确实没有测试样例,这其实也是在模拟面试的过程,因为很多真实的面试过程,提出面试问题并不会给出测试用例。
至于输入完成的条件,leetcode的问题解决格式和topcoder有些像,不像ACM比赛,输入直接从std给出。leetcode要求将问题解决的算法封装成一个Solution类里的函数,所有的输入通过参数传递完成。问题的结果也不需要打印出来,直接通过函数返回值返回即可。以 120 Triangle为例,
class Solution { public: int minimumTotal(vector<vector<int>>& triangle) { } }
其中,参数vector<vector<int>> &triangle中就存储了一个测试用例的所有数据,即一个二维数组存储了一个数字三角形的所有信息。你只需要基于这个参数解决问题就好了。最终,将你的算法计算出的结果在函数里return回去就好。提交给leetcode也只需要提交这个Solution类的代码,不需要提交main函数。
但如果你需要自己测试这个函数,则需要自己写main函数,自己创建相应的输入输出逻辑。这些逻辑leetcode不care,最终只要提交Solution类就好了。
估计你是跳着从动态规划开始看这个课程,在课程开始相关部分对leetcode的代码编写有更多介绍:)
非常感谢!
嘻嘻嘻可爱可亲的波波老师~远程读心术阿...嗯确实是跳着看的,对哦...120 Triangl这题用递归去实现这题不就是dfs遍历吗?.... 和64. Minimum Path Sum 这题不是dfs遍历+回溯吗?.... 还有一个问题就是 按传统dp的思想不是先得出前i行的最优子解,通过状态转移最终得到第n行的最优解,我经常会把这个概念和贪心弄混呢,求方法
120和64如果只是使用dfs的思路会计算很多重叠子问题哦,虽然貌似在leetcode上也能拿到accepted。这是因为leetcode上的测试数据偏弱。可以往后看看重叠子问题和记忆化搜索相关的内容,再看能不能加入记忆化搜索的思路哦。进而可以尝试一下使用dp的思路:)
登录后可查看更多问答,登录/注册
课程配套大量BAT面试真题,高频算法题解析,强化训练
1.0k 13
1.1k 12
611 11
1.5k 10
1.1k 10