
有趣的题目
dezhonger
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode 1040
题意: 给了一行石头的坐标,每次可以把一个端点(最左/最右)的石头移动到一个非端点的位置,求最后这n个石头连续的最少和最多移动次数 看代码吧,注释还是比较详细的。 public int[] numMovesStonesII(int[] stones) { Arrays.sort(stones); int n = stones.length...原创 2020-02-15 22:09:11 · 394 阅读 · 0 评论 -
Leetcode 649
R和D轮着投票,每一次每个人可以选择一个对方的人让他没有投票权,都选最优策略的时候谁能胜利 稍微思考可以发现: RD R win DR D win 也就是说下标小的时候占优势 我开始以为谁多谁就胜利,其实不是的,比如 DDRRR,这个是时候Dwin,因为第一轮过后 会变为什么呢? DDR?其实不是的,可以这样决策,第一个D和第二个D分别让第三个R和第四个R失去权力,然后最...原创 2020-02-08 22:30:49 · 246 阅读 · 0 评论 -
Leetcode808
有两个瓶子A和B分别有N毫升水, 每次可以进行下面四种操作之一 Serve100 ml of soup A and 0 ml of soup B Serve75 ml of soup A and 25ml of soup B Serve 50 ml of soup A and 50 ml of soup B Serve 25ml of soup A and 75ml of so...原创 2020-02-08 20:57:08 · 216 阅读 · 0 评论 -
Leetcode 398 蓄水池抽样算法
https://www.cnblogs.com/MrLJC/p/4113276.html原创 2020-01-29 03:41:17 · 162 阅读 · 0 评论 -
Leetcode858
一个正方形,左下角会放出射线,其他三个角分别有一个接收器,给出发射的角度的正切值,问这个射线最终会被几号接收器接受? 思路:初看此题,没有比较好的思路,暴力计算射线也显得非常麻烦,不妨我们把射线反射转换一下,变为扩展这个正方形。 图我就不画了,可以参见这里 https://www.cnblogs.com/grandyang/p/10646040.html 这里的解释我开始...原创 2020-01-29 01:27:58 · 160 阅读 · 0 评论 -
Leetcode838
一行多米诺骨牌,给定每个牌往左倒或者往右倒,求最后每个骨牌的倒下方向。 思路: 注意到一个骨牌的最终方向取决于它左边和它右边骨牌的方向,具体而言,以下情况: 如果两边都是同一方向,那么中间的骨牌也会倒向这个方向 L...L: LLLLL R...R: RRRRR 如果是在L和R之间,那么中间的骨牌不会受到外力,依然保持平航 L...R: 结果为L...R, 中间三个是平...原创 2020-01-29 00:46:18 · 270 阅读 · 0 评论 -
Leetcode1145
给一颗二叉树,a选x节点染为红色,问b是否可以选一个节点y染成蓝色,使得按照一定的规则下b win。 规则:每个选手每次可以选择一个已染色的邻居节点染成自己的颜色,如果没有这样的节点,就跳过这一回合。 最后谁的节点多,谁赢。 节点数为奇数。 sol: 给定了x节点,那么为了最大化b能染得节点数,我们只需要考虑三个节点,x的父节点和x的两个子节点。 int p, l, ...原创 2020-01-25 19:59:15 · 217 阅读 · 0 评论 -
Leetcode678
给定一个包含 '(', ')', '*'三种字符的字符串,其中*可以代替'('、')' 或者 空 三种字符,问是否可以替换后使得字符串是括号配对的。 比如: (*) 我们把*替换为空,return true (*)) 我们把*替换为'(',就是匹配的 想法: 我的想法是就像从左到右枚举,维护三个变量分别是 l, r, x, 代表三个字符的数量,以及一个栈,维护栈的原因是因为,...原创 2020-01-25 17:15:19 · 334 阅读 · 0 评论 -
Leetcode 775
A: 数组的逆序数 B: 数组相邻两个数是否是逆序的 判断A是否和B相等 注意到:B一定是A,但是A不一定是B 然后就是下面的代码。。。 public boolean isIdealPermutation(int[] A) { for (int i = 0; i < A.length; i++) { if (Mat...原创 2020-01-11 23:23:57 · 122 阅读 · 0 评论 -
Leetcode1252
一个n行m列的矩阵,初始全都是0,每次都可以操作一行或者一列自增每个数,求最后奇数的个数 这是个easy的题目,可以做到O(m+n)的空间复杂度和时间复杂度 题解: https://leetcode.com/problems/cells-with-odd-values-in-a-matrix/discuss/426647/C%2B%2B-0ms-9.2MB.-Faster-tha...原创 2019-12-29 22:25:46 · 201 阅读 · 0 评论 -
Leetcode932
构造一个1-N的排列,满足不存在 For everyi < j, there isnokwithi < k < jsuch thatA[k] * 2 = A[i] + A[j]. 一个很有趣的构造题目,https://www.dreamwings.cn/leetcode932/5327.html这里讲的很清楚了 public int[] b...原创 2019-12-20 22:19:27 · 157 阅读 · 0 评论 -
Leetcode1248
有多少个连续子数组的奇数个数为k 可以记录下每个奇数左边的偶数的数的个数, 比如00010010000, k =2 那么选择了1001后,左边可以扩展3个0,右边可以扩展4个0,右边可以理解为下一个奇数的左边,这个在实现上会比较方便。 根据乘法原理,贡献的答案为(3+1)(4+1) public int numberOfSubarrays(int[] nums, int ...原创 2019-12-18 01:01:50 · 189 阅读 · 0 评论 -
Leetcode519
大概意思就是让你在接下来的M次,随机出[0, n*m)的一个整数,不能重复。尽可能少地调用random()方法。 这个题目的解答思路非常巧妙:每次随机出一个数后,就把这个数映射到一个还没用随机出来的数,接下来如果又随机到这个数,就用它映射到的那个数,同时把这个数映射到的数再改为一个没用到的数(因为之前映射到的数这次用过了)。 class Solution { int size...原创 2019-12-03 22:58:09 · 91 阅读 · 0 评论