上一页 1 2 3 4 5 6 7 8 9 ··· 20 下一页
摘要: 首先,我们可以把所有洗衣机内的衣服数量累加求和,得到总的衣物的数量sum,假设洗衣机的数量为n,如果sum % n不为0,则无解,因为无法让所有洗衣机的数量相同。 如果sum % n为0,我们求出sum / n的结果avg,也就是最终当所有洗衣机衣服数量相同时每台洗衣机的衣服数量。 题目要我们求让所 阅读全文
posted @ 2020-11-12 09:52 machine_gun_lin 阅读(132) 评论(0) 推荐(0)
摘要: 经典动态规划问题。用dp[i][j]表示字符串s的以i开头,以j结尾的子串的最大回文子序列的长度。我们要求的s的最长回文子序列的长度就是dp[0][n - 1]。 考虑一下数组的初始化,对于所有的i(0 ⇐ i < n),都有dp[i][i] = 1,表示单个字母可以组成一个长度为1的回文子序列。 阅读全文
posted @ 2020-11-12 09:26 machine_gun_lin 阅读(95) 评论(0) 推荐(0)
摘要: 层次遍历,找出每一行的最大值。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), le 阅读全文
posted @ 2020-11-11 22:36 machine_gun_lin 阅读(57) 评论(0) 推荐(0)
摘要: 用dp[i][j]表示将keys的前i + 1个字母(0 ~ i)与ring匹配完成、并且当前ring的第j个字母与12:00对齐所需要的最小步数。 对于key的第一个字母key[0], 要找到ring中某个字母ring[i]与他相等,才能完成key[0]的匹配,可以扫描一遍ring,如果ring[ 阅读全文
posted @ 2020-11-11 22:30 machine_gun_lin 阅读(79) 评论(0) 推荐(0)
摘要: 树的最后一行的最左边的值,也就是层次遍历时树的最后一行的第一个遍历到的节点。 因此我们可以对树做一个层次遍历,遍历到的节点存在一个二维vector里,每一维vector存放一行树的节点。 遍历结束之后,直接返回最后一层的第一个节点,就是答案。 代码如下: /** * Definition for a 阅读全文
posted @ 2020-11-11 22:11 machine_gun_lin 阅读(82) 评论(0) 推荐(0)
摘要: 计算斐波那契数列,直接根据公式递推一下就好了。 class Solution { public: int F[31]; int fib(int N) { memset(F, 0, sizeof F); F[1] = 1, F[2] = 1; for(int i = 3; i <= N; ++i) { 阅读全文
posted @ 2020-11-11 22:04 machine_gun_lin 阅读(57) 评论(0) 推荐(0)
摘要: 就硬算,直接遍历树,求出所有子树元素和的频率,然后再求出现次数最多的子树元素和。 子树元素和的计算可以递归来求,然后用一个先序遍历把所有的子树元素和存到一个哈希表里,然后要计算出现次数最多的子树元素和,可以把 哈希表中所有元素和以及元素和说对应的出现次数放到一个存放pair<int, int>的ve 阅读全文
posted @ 2020-11-11 21:58 machine_gun_lin 阅读(130) 评论(0) 推荐(0)
摘要: 简单模拟题,直接求num所有因子的和。 这里要注意,num最大可以取到10^8,所以不能是O(n)的时间复杂度(会超时)。 可以借鉴求质数的思想,如果i是num的因子,那么nums / i也是nums的因子,因此我们只需要枚举2~sqrt(num)即可,这样时间复杂度就是O(sqrt(n))。 另外 阅读全文
posted @ 2020-11-11 21:43 machine_gun_lin 阅读(78) 评论(0) 推荐(0)
摘要: 直接对于每个元素,枚举他们为起点是否能构成循环。 另外,由于循环中要求所有步数都是同一个方向(向左或向右),因此额外开一个数组directions记录每一步的方向。 代码如下: class Solution { public: bool circularArrayLoop(vector<int>& 阅读全文
posted @ 2020-10-27 16:28 machine_gun_lin 阅读(154) 评论(0) 推荐(0)
摘要: 从后往前遍历数组,同时维护一个单调递减的栈,因为是单调栈,所以栈顶元素是目前的最大值(可以认为是132中的3), 同时我们要记录第二大的值,也就是单调栈中栈顶元素的下一个元素,我们用变量secondGreatest来记录这个值。 secondGreatest可以认为是132中的2。 同时我们继续往前 阅读全文
posted @ 2020-10-27 16:12 machine_gun_lin 阅读(57) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 20 下一页