LeetCode周赛#212】的更多相关文章

1631. 最小体力消耗路径 #并查集 #最短路径 题目链接 题意 给定一二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 \((row, col)\) 的高度.一开始你在最左上角的格子 \((0, 0)\) ,且你希望去最右下角的格子 \((rows-1, columns-1)\) (下标从 0 开始).每次可以往 上,下,左,右 四个方向之一移动,你想要找到耗费 体力 最小的一条路径. 一条路径耗费的 体力值 是路径上相邻格子之…
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…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 前缀树 日期 题目地址:https://leetcode.com/problems/word-search-ii/ 题目描述 Given a 2D board and a list of words from the dictionary, find all words in the board. Each word must be construc…
题目描述: 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词. 注意:每次拼写时,chars 中的每个字母都只能用一次. 返回词汇表 words 中你掌握的所有单词的 长度之和. 示例 1: 输入:words = ["cat","bt","hat","tree"],…
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 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 91 (2018年10月24日,周三) 链接:https://leetcode.com/contest/weekly-contest-91/ 模拟比赛情况记录:第一题柠檬摊的那题6分钟AC,然后是第二题树的距离K的结点那题比较久,大概写了30分钟,第三题翻转矩阵那题第一次提交错误了,列的优化方法思路错了,WA.后来比赛时间到了才改过来.最后一题最短子数组的和比K大的这题不会做. [860]Lemonade Change   (第一题) 一个柠檬摊,有一队人排队要买柠檬,一个5刀,…
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…
注意,以前的比赛我是自己开了 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,要求返…
本周周赛的题面风格与以往不太一样,但不要被吓着,读懂题意跟着模拟,其实会发现并不会难到哪里去. 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];…
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;…
Given a 2D board and a list of words from the dictionary, find all words in the board. Each word must be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or vertically neighboring. The same le…
题目描述: 给你一个二叉树的根节点 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>>&…
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…
题目链接 这题我开始一直在想如何在数组上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 {…
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\)的数据范围,直接模…