上一页 1 2 3 4 5 6 7 8 ··· 22 下一页
摘要: 思路: 对于这个题,除开第一个位置不能从左边过来,和最后一个位置不能从右边过来,其余位置都可以有三种可能。 三种可能分别是,不动,左移,右移。因此我们可以得到状态转移方程。 我们定义dp[step][idx],step为移动次数,idx为当前的位置 首先是第一个位置:dp[i][0] = dp[i- 阅读全文
posted @ 2021-05-13 11:34 Mrsdwang 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 思路: 因为我们要穿过墙,并且要穿过的砖块最少,因此我们应该从从墙缝最多的地方穿过。 那么问题来了,我们如何求得墙缝呢? 每行每个砖头有自己的宽度,墙缝存在两墙块之间,并且每行的总宽度相同,因此我们通过前缀和,来等效求解墙缝。 假设一行砖头宽度为[1,2,2,1],那么缝隙的标号就可以设定为1,1+ 阅读全文
posted @ 2021-05-12 16:33 Mrsdwang 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 思路: 还是异或的题。 因为我们前一道题已经得到一个算法,(3 ^ 4 ^ 5) = (1 ^ 2) ^ (1 ^ 2 ^ 3 ^ 4 ^ 5),所以在这题也可以通过该算法来减少异或次数。 我们有个很直接的想法就是从queries没获取一个查询范围,就从L-R的异或,那么最坏时间复杂度就是O(n*m 阅读全文
posted @ 2021-05-12 13:38 Mrsdwang 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 思路: 就我的小脑袋瓜,除了for循环遍历,还能想到什么高级的数学方法呀? 我下意识想到用异或运算的性质,但是没想到用的哪个。看了题解确信了数学方法我做不出来 。 代码: class Solution { public: int xorOperation(int n, int start) { in 阅读全文
posted @ 2021-05-11 21:26 Mrsdwang 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 思路: 利用异或规律的一道题。 首先明确题目对perm的定义,前n个正整数的排列,n为奇数。(因为没重视这句,想了好久都想不出,看了讨论里面说到这个才恍然大悟) 意思为perm为一个数组,里面放的是数字1-n,且数量为奇数。 又因为encoded[i]=perm[i-1]^perm[i] 我们举个n 阅读全文
posted @ 2021-05-11 17:34 Mrsdwang 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 思路: 刚开始是想暴力双循环,但是发现思路只能解决连续且k>1的情况。想不出其他的了。 看了题目标签,二分法。但是还是没思路怎么个二分。 看了题解。之前说过二分利用的是二段性,那么我们这两段的分界设定为 最短完成采花的天数,也即答案。 (0,res)这段天数的大小是不能完成采花的,(res,+∞)z 阅读全文
posted @ 2021-05-10 15:51 Mrsdwang 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 思路: 最直观的就是分别用两个数组来存放两棵树的叶子节点。 所以就是dfs每棵树,当遍历到叶子节点时,就加入进数组里。最后得到的两个数组在判断长度是否相等,不等就return false,相等就遍历判断是否存在不相等的元素,有就return false 代码: DFS递归 /** * Definit 阅读全文
posted @ 2021-05-10 14:41 Mrsdwang 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 思路: 这个题 很明显用栈来处理,但是,我有思路了,一做就错,自己写的乱乱的,理不清楚逻辑了。 首先我们需要两个栈一个用来放数字,一个用来放字符串。当我们遇到'['时,就把上次的暂存的字符串和得到的数字大小分别放入各自的栈中。如果遇到']'就开始取出栈顶的数字,并且以这个大小循环这多次,把存放字符串 阅读全文
posted @ 2021-04-28 19:38 Mrsdwang 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 思路: 这样的题给的值都会很大,再平方大概率会超int,那么我们在声明变量时需要long变量。 同时应该把传入的c的大小降下来,因为大于根号c的数,是不可能被使用的,所以我们从0-根号c开始找。 因为是a2+b2=c,所以我们要两次循环0-c的数,但是直接两个for循环会导致超时。 那么我们就采用双 阅读全文
posted @ 2021-04-28 17:06 Mrsdwang 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 思路: DFS递归即可,这里要多关注的是数字和"->"的关系。 因为我们"->"是在添加数字后加,所以我们多一个判断如果当前加入的是叶子节点,再加入val后,就把这一串字符串加入到res数组中,并return。这样就能避免最后多一个“->”。 代码: /** * Definition for a b 阅读全文
posted @ 2021-04-27 23:49 Mrsdwang 阅读(30) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 22 下一页