Contest 41 ()(题号) Contest 42 ()(题号) Contest 43 ()(题号) Contest 44 (2018年12月6日,周四上午)(题号653—656) 链接:https://leetcode.com/contest/leetcode-weekly-contest-44 比赛情况记录:就做出来两题,第三题不难,然而就是在算坐标的时候卡住了.orz.结果:2/4,ranking:637/2272.第四题没看题,第三题搞得心情不好了orz. [653]Two Sum…
Contest 91 (2018年10月24日,周三) 链接:https://leetcode.com/contest/weekly-contest-91/ 模拟比赛情况记录:第一题柠檬摊的那题6分钟AC,然后是第二题树的距离K的结点那题比较久,大概写了30分钟,第三题翻转矩阵那题第一次提交错误了,列的优化方法思路错了,WA.后来比赛时间到了才改过来.最后一题最短子数组的和比K大的这题不会做. [860]Lemonade Change   (第一题) 一个柠檬摊,有一队人排队要买柠檬,一个5刀,…
注意,以前的比赛我是自己开了 virtual contest.这个阶段的目标是加快手速,思考问题的能力和 bug-free 的能力. 前面已经有了100个contest.计划是每周做三个到五个contest.每次计算时间一个半小时. Warm Up Contest (Contest 1)(2018年10月22日,周一) 链接:https://leetcode.com/contest/warm-up-contest [386]Lexicographical Numbers 给了一个数字 n,要求返…
Contest 111 (题号941-944)(2019年1月19日,补充题解,主要是943题) 链接:https://leetcode.com/contest/weekly-contest-111 [941]Valid Mountain Array(第一题 3分)(google tag) 判断一个数组是不是 Mountain 数组. Mountain 数组的定义是 A.length >= 3There exists some i with 0 < i < A.length - 1 su…
Contest 51 (2018年11月22日,周四早上)(题号681-684) 链接:https://leetcode.com/contest/leetcode-weekly-contest-51 比赛结果记录:3/4,ranking:270/2879.第三题有点类似于图的最小生成树,第四题似乎是很火的种花题(第四题我好像几个月之前做过,有印象,当时也是自己做的). [682]Baseball Game(第一题 3分) You're now a baseball game point reco…
Contest 71 () Contest 72 () Contest 73 (2019年1月30日模拟) 链接:https://leetcode.com/contest/weekly-contest-73 结果:2/4,会做第一题和第三题,第二题和第四题不会做. [788]Rotated Digits(第一题 4分)(谷歌tag) 给了一个 good number 的定义,X is a good number if after rotating each digit individually…
Contest 81 (2018年11月8日,周四,凌晨) 链接:https://leetcode.com/contest/weekly-contest-81 比赛情况记录:结果:3/4, ranking: 440/2797.这次题目似乎比较简单,因为我比赛的时候前三题全做出来了(1:12:39),然后第四题有思路,正在写,没写完,比赛完了写完提交也对了. [821]Shortest Distance to a Character(第一题 4分) 给了一个单词(字符串)s,和单词中的任意一个字母…
Contest 121 (题号981-984)(2019年1月27日) 链接:https://leetcode.com/contest/weekly-contest-121 总结:2019年2月22日补充的报告.当时不想写.rank:1093/3924,AC:2/4.还是太慢了. [984]String Without AAA or BBB(第一题 4分)(Greedy, M) 给了两个数字,A 代表 A 个 ‘A’, B 代表 B 个‘B’ 在字符串里面.返回一个可行的字符串,字符串中包含 A…
[LeetCode Weekly Contest 29][2017/04/23] 第17周 Binary Tree Tilt (3) Array Partition I (6) Longest Line of Consecutive One in Matrix (8) Find the Closest Palindrome (10) 第一题: 563. Binary Tree Tilt [easy] 别人写几行,我写的非常啰嗦==.树后序遍历.代码是重写过的. Given a binary tr…
contest 1 ~ contest 10: contest 11 ~ contest 20: contest 21 ~ contest 30 : https://www.cnblogs.com/zhangwanying/p/6753040.html contest 31 ~ contest 40: contest 41 ~ contest 50:https://www.cnblogs.com/zhangwanying/p/10065867.html contest 51 ~ contest…
题目描述: 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词. 注意:每次拼写时,chars 中的每个字母都只能用一次. 返回词汇表 words 中你掌握的所有单词的 长度之和. 示例 1: 输入:words = ["cat","bt","hat","tree"],…
本周周赛的题面风格与以往不太一样,但不要被吓着,读懂题意跟着模拟,其实会发现并不会难到哪里去. 1599. 经营摩天轮的最大利润 #模拟 题目链接 题意 摩天轮\(4\)个座舱,每个座舱最多可容纳\(4\)位游客,座舱会轮转,且每次轮转需支付一定运行成本\(runningCost\),且恰好转动\(1/4\)周. 给定长度为\(n\)的数组\(customers\), \(customers[i]\) 是在第 \(i\) 次轮转之前到达的新游客的数量,即你必须在新游客到来前轮转\(i\) 次.每…
本周的周赛题目质量不是很高,因此只给出最后两题题解(懒). 1552 两球之间的磁力 #二分答案 题目链接 题意 有n个空篮子,第i个篮子位置为position[i],现希望将m个球放到这些空篮子,使得任意两球间最小磁力最大.(其中,磁力简化为两点位置之差) 分析 该题是二分答案的裸题,详细见代码 class Solution { public: bool Judge(vector<int>& a, int x, int m){ int cnt = 1,lastpos = a[0];…
比赛题目:https://leetcode-cn.com/contest/weekly-contest-223/. 解码异或后的数组 题目:1720. 解码异或后的数组. 还记得数列求和的「累加法」? 已知 encoded[i] = arr[i] ^ arr[i + 1] ,展开之: e[0] = a[0] ^ a[1] e[1] = a[1] ^ a[2] e[2] = a[2] ^ a[3] ... e[i-1] = a[n-1] ^ a[i] 等号两边所有数字同时异或: e[0] ^ ..…
869. 重新排序得到 2 的幂 枚举排列,然后验证.比较暴力. 其实好一点的做法应该反过来,先把int范围下的2的N幂算出来,然后一个一个验证给出的数能不能拼成. class Solution { public Integer[] nextPermutation(Integer[] nums) { if (nums.length == 1) { return new Integer[]{}; } int p = -1; for (int i = nums.length - 2; i >= 0;…
题目描述: 给你一个二叉树的根节点 root.设根节点位于二叉树的第 1 层,而根节点的子节点位于第 2 层,依此类推. 请你找出层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个. 示例 : 输入:[1,7,0,7,-8,null,null] 输出:2 解释: 第 1 层各元素之和为 1, 第 2 层各元素之和为 7 + 0 = 7, 第 3 层各元素之和为 7 + -8 = -1, 所以我们返回第 2 层的层号,它的层内元素之和最大. 提示 树中的节点数介于 1 和…
目录 找出井字棋的获胜者 思路 代码 不浪费原料的汉堡制作方案 思路 代码 统计全为 1 的正方形子矩阵 思路 代码 分割回文串 III 思路 代码 找出井字棋的获胜者 思路 模拟. 代码 class Solution { public: char mp[4][4]; bool check(int x, int y, char ch) { int flag = 1; for(int i = 0; i < 3; ++i) { if(mp[x][i] != ch) flag = 0; } if(fl…
目录 访问所有点的最小时间 思路 代码 统计参与通信的服务器 思路 代码 搜索推荐系统 思路 代码 停在原地的方案数 思路 代码 访问所有点的最小时间 思路 由于每次移动有水平方向移动一格.竖直方向移动一格和对角方向一格,而水平方向一格\(+\)竖直方向一格\(=\)对角线方向一格,因此最后答案为相邻两点的切比雪夫距离之和. 代码 class Solution { public: int minTimeToVisitAllPoints(vector<vector<int>>&…
题目链接 这题我开始一直在想如何在数组上dp操作搜索区间, 很蠢, 实际上用二分查找的方法可以很快的解决 首先我们通过一个函数判断第x天是否符合题意, 如果x天可以做出m束花, 那么大于m的天数必然可以. 从这里便可以看出其符合二分搜索的特性 : 答案在一个固定区间内: 可能查找一个符合条件的值不是很容易,但是要求能比较容易地判断某个值是否是符合条件的: 可行解对于区间满足一定的单调性. 由于题目设定的最大值是1e9, 我们可以直接把二分的左端设置为0, 右端设置为1e9 判断x天是否满足条件的…
比赛题目:https://leetcode-cn.com/circle/discuss/luvHfG/ 两个相同字符之间的最长子字符串 题目:5543. 两个相同字符之间的最长子字符串. 开始理解错题意了,结果提交了 2 次错误答案…
1566. 重复至少 K 次且长度为 M 的模式 #模拟 题目链接 题意 给定正整数数组 arr,请你找出一个长度为 m 且在数组中至少重复 k 次的模式. 模式 是由一个或多个值组成的子数组(连续的子序列),连续 重复多次但 不重叠 . 模式由其长度和重复次数定义.如果数组中存在至少重复 k 次且长度为 m 的模式,则返回 true ,否则返回 false . 分析 题目初看有点麻烦,但实际上隔着特定周期(即重复长度)去检查相应字符是否相等,模拟一下题意即可. class Solution {…
1631. 最小体力消耗路径 #并查集 #最短路径 题目链接 题意 给定一二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 \((row, col)\) 的高度.一开始你在最左上角的格子 \((0, 0)\) ,且你希望去最右下角的格子 \((rows-1, columns-1)\) (下标从 0 开始).每次可以往 上,下,左,右 四个方向之一移动,你想要找到耗费 体力 最小的一条路径. 一条路径耗费的 体力值 是路径上相邻格子之…
5554. 能否连接形成数组 题目链接 题意 给定整数数组 arr ,其中每个整数互不相同 .另有一个由整数数组构成的数组 pieces,其中的整数也互不相同 .请以 任意顺序 连接 pieces 中的数组以形成 arr .但是,不允许 对每个数组内部 pieces[i] 中的整数重新排序.若可连接 pieces 中的数组形成 arr ,返回 true :否则,返回 false . 样例 分析 如果遍历arr每个元素找到其对应的pieces[i]子数组,考虑的细节有很多.不妨遍历每个pieces…
1609. 奇偶树 #广搜 #二叉树的层次遍历 题目链接 题意 如果一棵二叉树满足下述几个条件,则可以称为奇偶树 : 二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推. 偶数下标 层上的所有节点的值都是 奇 整数,从左到右按顺序 严格递增 奇数下标 层上的所有节点的值都是 偶 整数,从左到右按顺序 严格递减 给定根节点,要求判断该二叉树是否为奇偶树 分析 BFS对于已知根节点,按深度遍历时,十分高效.这里要注意下入队列顺序是从左至右. /**…
5519. 重新排列单词间的空格 #字符串 #模拟 题目链接 题意 给定字符串text,该字符串由若干被空格包围的单词组成,也就说两个单词之间至少存在一个空格.现要你重新排列空格,使每对相邻单词间空格数目都相等,并尽可能最大化该数目.若不能重新平均分配所有空格,请将多余的空格放置在字符串末尾,这也意味着返回的字符串应当与原text字符串的长度相等. class Solution { public: string reorderSpaces(string text) { int spacenum…
1583. 统计不开心的朋友 #模拟 #暴力 题目链接 题意 有n为朋友,对每位朋友i,preference[i]包含 按亲密度从大到小 的朋友编号. 朋友们会被分为若干对,配对情况由pairs数组给出,即pair[i]={xi, yi}表示xi与yi相互配对. 当x与y相互配对且u与v相互配对的情况下,如果同时满足下面两个条件,x就会不高兴: x->u亲密度 大于 x->y: u->x亲密度 大于 u->v: 分析 初看题目,我以为一旦满足上述两条件,不但x不高兴,u也会不高兴.…
5508. 数的平方等于两数乘积的方法数 #模拟 #哈希表 题目链接 题意 给你两个整数数组nums1 和 nums2 ,请你返回根据以下规则形成的三元组的数目(类型 1 和类型 2 ): 类型 1:三元组(i, j, k),如果 nums1[i]2 == nums2[j] * nums2[k] 其中 0 <= i < nums1.length 且 0 <= j < k < nums2.length 类型 2:三元组 (i, j, k) ,如果nums2[i]2 == num…
1561. 你可以获得的最大硬币数目 #贪心 题目链接 题意 有 3n 堆数目不一的硬币,你和你的朋友们打算按以下方式分硬币: 每一轮中,你将会选出 任意 3 堆硬币(不一定连续). Alice 将会取走硬币数量最多的那一堆. 你将会取走硬币数量第二多的那一堆. Bob 将会取走最后一堆. 重复这个过程,直到没有更多硬币. 给你一个整数数组piles ,piles[i] 是第 i 堆中硬币的数目.现要你求出可获得的最大硬币数目. 分析 毫无疑问,需要先将硬币堆降序排序.既然每一轮我只能拿当前三堆…
1545 找出第N个二进制字符串的第K位 #分治 题目链接 题意 给定正整数\(n(\leq 20)\)与\(k\),二进制串\(S_n\)形成规则有: \(S_1 = "0"\) 当\(i>1\)时,\(S_i = S_{i-1}+"1"+reverse(invert(S_{i-1}))\) 其中\(reverse(x)\)表示左右反转字符串x,\(invert(x)\)表示翻转x中的每一位(0->1,1->0) 现要返回\(S_n\)的第\(k…
1535 找出数组游戏的赢家 #模拟+优化 题目链接 题意 给你一个由 不同 整数组成的整数数组 arr 和一个整数 k(\(1\leq k\leq1e9\)) .每回合游戏都在数组的arr[0] 和 arr[1]之间进行,比较两者大小,较大的元素将会取得这一回合的胜利并保留在位置 0 ,较小者移至数组的末尾.当一个整数赢得 k 个连续回合时,游戏结束,该整数就是比赛的赢家,现求该整数 样例 因此将进行 4 回合比赛,其中 5 是赢家,因为它连胜 2 回合 分析 观察\(k\)的数据范围,直接模…