摘要:
题目如下: 解题思路:本题可以采用贪心算法,因为每条船最多只能坐两人,所以在选定其中一人的情况下,再选择第二个人使得两人的体重最接近limit。考虑到人的总数最大是50000,而每个人的体重最大是30000,因此会有很多人体重一样。这样可以用一个集合set保存体重,再用字典保存每个体重对应的人的数量 阅读全文
摘要:
题目如下: 解题思路:很经典的动态规划题目,但是用python会超时,只好用C++了。 代码如下: 阅读全文
摘要:
题目如下: 解题思路:这种题目和四则运算,去括号的题目很类似。解法也差不多。 代码如下: 阅读全文
摘要:
题目如下: 解题思路:本题题目难度是easy,但是题意理解起来的难度是medium。题意大致是n=1时输出字符串1;n=2时,数上次字符串中的数值个数,因为上次字符串有1个1,所以输出11;n=3时,由于上次字符是11,有2个1,所以输出21;n=4时,由于上次字符串是21,有1个2和1个1,所以输 阅读全文
摘要:
题目如下: 解题思路:本题是【leetcode】131. Palindrome Partitioning的升级版,要求的是求出最小cuts,如果用【leetcode】131. Palindrome Partitioning的方法把所有解的都求出来取最小值肯定会超时。对于求最大/最小值的题目,大多数情 阅读全文
摘要:
题目如下: 解题思路:一般来说,对于题目要求返回所有可能的结果的集合的情况,对算法时间复杂度的要求都不会太复杂。本题直接穷举遍历即可。 代码如下: 阅读全文
摘要:
题目如下: 解题思路:首先求出链表的长度length,然后令k = k%length,得出的k即为要rotated长度。从头开始遍历链表到第k个元素,将k的next指向none,原链表的尾节点指向头结点即可。 代码如下: 阅读全文
摘要:
题目如下: 解题思路:凑数题+3,搞不懂为什么本题的难度是Hard,而【leetcode】590. N-ary Tree Postorder Traversal是Medium。 代码如下: 阅读全文