给你一个 m * n 的矩阵,矩阵中的数字 各不相同 .请你按 任意 顺序返回矩阵中的所有幸运数. 幸运数是指矩阵中满足同时下列两个条件的元素: 在同一行的所有元素中最小 在同一列的所有元素中最大 示例 1: 输入:matrix = [[3,7,8],[9,11,13],[15,16,17]] 输出:[15] 解释:15 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值. 示例 2: 输入:matrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]]…
LeetCode 第 165 场周赛 5275. 找出井字棋的获胜者 5276. 不浪费原料的汉堡制作方案 5277. 统计全为 1 的正方形子矩阵 5278. 分割回文串 III C 暴力做的,只能说数据不充分 找出井字棋的获胜者4 题目描述 Description A 和 B 在一个 3 x 3 的网格上玩井字棋. 井字棋游戏的规则如下: 玩家轮流将棋子放在空方格 (" ") 上. 第一个玩家 A 总是用 "X" 作为棋子,而第二个玩家 B 总是用 "…
Leetcode第 217 场周赛 比赛链接:点这里 做完前两题我就知道今天的竞赛我已经结束了 这场比赛思维量还是比较大的. 1673. 找出最具竞争力的子序列 题目 给你一个整数数组 nums 和一个正整数 k ,返回长度为 k 且最具 竞争力 的 nums 子序列. 数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列. 在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于 b 中对应的数字,那么我们称子序列 a 比子序列 b(相同长度下)更具 竞争力 . 例如…
一.函数的运用 1,strstr(a,b); 判断b是否为a的子串,如果是,返回从b的开头开始到a的结尾 如“abcdefgh” “de” 返回“defgh”: 如果不是子串,返回NULL: 2,memcpy(a,b+n,c); 将b串从第n位后的c个字符串复制到a中,返回a串: (注:做完函数后需要添加上b[c] = '\0') 如果吧b+n换成b就是从头开始 将代码换成 memcpy(arr[cnt], words[i], strlen(words[i])+); 就是直接复制words[i]…
今天参加了leetcode的周赛,算法比赛,要求速度比较快.有思路就立马启动,不会纠结是否有更好的方法或代码可读性.只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了. 比赛时先看的第二题,一看题就有了思路,直接用的广度优先搜索,写完提交正确.再一看有人都做了3道题了,应该是职业选手了,要多像他们看齐. 之后看第一题,发现直接用贪心就能做,写了个双重循环,一次过掉. 第三题求最优连续子数组和,想到是动态规划.然后在处理代码细节上花了很长时间,中间提交还错了一次,在十一点半左右提交通过. 再…
这是我第一次写周赛的题目,而且还是虚拟的.从这次起,以后就将所有错过的题目都写到博客来.当然既然是我错的,那代码肯定不是我自己的.我会注明来源.并且我会自己敲一遍.多总结总是没坏处的. 另外比较糟糕的是我错过了PAT的报名时间(截止到8/30 12:00),所以暂时我就不刷PAT的题目,专注于LeetCode的题目. 下面进入正题 1169. 查询无效交易 这题真滴不难,但是我当时想的非常复杂,我以为不会这么简单的就那么两个条件判断...谁曾想,真滴就是这样... 参考:uwi 这位大神的. 思…
这算是我第一次正式参加 LeetCode 的周赛吧.通过两道题.意料之中(通过上次模拟可以看出来).总的来说,脑袋还是不太灵光.想的有点慢.全球第一名 0:10:19 就全部通过...感觉我的智商被狠狠的摁在地上摩擦了. 参考:huntersjm 5175. 构建回文串检测 我第一次提交的直接 TLE.然后就没有然后了. TLE 代码的思路(可以不看): 定义一个 int 型的 notParesNum 保存字母个数为奇数的字母的数量. 每次检测,将 [left, right] 字串取出,统计里面…
5452. 判断能否形成等差数列   给你一个数字数组 arr . 如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 . 如果可以重新排列数组形成等差数列,请返回 true :否则,返回 false . 示例 1: 输入:arr = [3,5,1] 输出:true 解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列. 示例 2: 输入:arr = [1,2,4] 输出:false 解释:无法通过…
周日的比赛的时候正在外面办事,没有参加.赛后看了下题目,几道题除了表面要考的内容,还是有些能发散扩展的地方. 做题目不是最终目的,通过做题发现知识盲区,去研究学习,才能不断提高. 理论和实际是有关系的,一些题目也都有现实意义.计算机的一些模拟操作,通过数学算法,能够大大减轻代码量和算法复杂度. 第一题是机器人在坐标系上直走和转弯,通过简单的模拟就能实现.但是仔细思考发现还能通过线性代数,坐标变换的方式做,这样在实际中计算更快.甚至还可以用复数来做. 实际扫地机器人可能就用到了类似的算法.让他能够…
今天的比赛的题目相对来说比较「直白」,不像前几周都是一些特定的算法,如果你没学过不可能想出来. 做了这些周,对leetcode比赛的题目也发现了一些「规律」. 一般前两道题都很「简单」,只要有想法,直接敲代码就能解出来.更多考察的是结果是否正确,速度其次. 后两道题有些难度 ,不同场次难度不一样,也可能和不同人的水平感受不同.但是肯定比前两道要难. 一般在做后两道题的时候,只要复杂度是对的,一些细节也不用考虑太多.例如数组开的空间大小,一些线性的提前剪枝判断,写不写都可以过.最主要的是复杂度是同…