leetcode
文章平均质量分 61
yeah_you_are
每天进步一点点,终会成为那个你想成为的人!!!
你以为是捷径,却可能反而绕了远路!!!
展开
-
21天学习挑战赛--贪吃蛇
博主原文中使用了队列记录了贪吃蛇身体的各个位置,可以很方便的得到蛇身体的各个位置记录,我这里使用了循环找蛇身体的位置,增加了处理的时间复杂度,两相比较来说,这里加一点存储空间来换寻找的时间是更合适的。原创 2022-08-21 23:56:40 · 901 阅读 · 2 评论 -
21天学习挑战赛--寻找身高相近的小朋友
博主原文中并没有使用二维数组去存储身高差的值,直接每次都计算然后做比较,因此我这样的处理比博主多出了一倍的空间复杂度,此处的空间复杂度是O(2n),博主只有O(n),这是一个不错改进的点。原创 2022-08-20 23:47:49 · 705 阅读 · 0 评论 -
21天学习挑战赛--执行时长
博主原文中的解决思路在时间复杂度上比我此处的想法更优,不应该在无新增任务后继续用循环去执行,可以使用数字计算直接解决,尤其当数值较大时,计算节省的时间很可观。模拟GPU运行的逻辑也许更好理解,但也会被这理解局限。...原创 2022-08-17 22:28:32 · 206 阅读 · 0 评论 -
21天学习挑战赛--猜密码
可能的密码组合,每种组合显示成一行,每个组合内部的数字以半角逗号分隔,从小到大的顺序排列。输出的组合间需要按照字典顺序排列。题目的意思是从给定的M个数字中取出长度在[N,M]区间内的所有数字组合,并将得到的数字组合按照字典顺序排序。中间较复杂的问题就是取长度在[N,M]变化的数字组合,简化一下就是取定长L的数字组合,这样就简单多了。本题目中最复杂的部分就是从长度为M的数字中取长度为L的数字组合,这其实很像分治。先取1,在【2,3,4】中取剩下的一个,有三种;然后取2,在【3,4】中取剩下的一个,有两种;..原创 2022-08-14 22:55:54 · 443 阅读 · 0 评论 -
21天学习挑战赛--字符串变换最小字符串
给出一个字符串s,只交换一次字符得到最小字符串,最小字符串的意思是按照字典顺序是最小的,交换的规则是一次交换任意两个位置的字符。原创 2022-08-11 15:57:29 · 550 阅读 · 0 评论 -
21天学习挑战赛--补种胡杨求最大连续胡杨数量
假设种了一排胡杨总数N,一段时间后发现其中死了M棵,现在给你提供K棵补种的胡杨树,请问怎么补种可以得到连贯的胡杨树最多。原创 2022-08-09 15:52:41 · 612 阅读 · 0 评论 -
21天学习挑战赛--图像物体的边界
给一个二维数组M行N列,数组中的数字代表图片的像素,为了简化问题,仅包含像素1和5两种像素,每种像素代表一个物体,将两个不同物体相邻的格子称为边界,求像素1代表的边界个数。这样所有的边界格子被标记出来了,然后第二步判断边界格子所属边界,那么就是找2的格子,找到一个2的格子a便立即根据相邻规律将所有与格子a相邻的所有为2的格子变为3,那么找到2的次数便是边界的个数。其中像素1代表的物体边界是指像素为1并且与像素5相邻的格子,而相邻的概念是指八个方向(上、下、左、右、左上、左下、右上、右下)的相近。...原创 2022-08-07 00:01:24 · 727 阅读 · 1 评论 -
21天学习挑战赛--字符串切割
给定一个非空字符串S,其被N个‘-’分隔为N+1个的字串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;子串为12abc、abCABc、4aB@,除去第一个子串,剩余的按照3个字符分隔,则新的子串为12abc、abC、ABc、4aB、@,然后各个子串计算大小写字母个数转换大小写,则变为12abc、abc、ABC、4aB、@,最后由‘-’拼接得到结果。...原创 2022-08-03 23:55:21 · 322 阅读 · 0 评论 -
21天学习挑战赛--分班
分班?其实有点像数据结构栈的应用题。原创 2022-08-02 11:13:47 · 242 阅读 · 0 评论 -
计算数字区间中数字出现次数
输入两个数n,x(x原创 2022-07-26 11:40:07 · 624 阅读 · 0 评论 -
解析树字符串并输出中序遍历
题目描述输入二叉树字符串,如“a{b{d{g,},e{,f}},c{,h{i,j{k,l}}}}”,节点都是以小写字母表示,请按照中序遍历的顺序输出。思考根据题目描述,可以将解决问题的过程分为两个步骤,首先解析字符串转存为树,然后就是实现中序遍历。那么首先开始解析字符串。public String[] parseToTree(String str) { /** * 思路:这里以数组存储树结构,左子节点为2*i+1,右子节点为2*i+2,这里不做详细解析;原创 2022-03-06 16:08:44 · 1254 阅读 · 2 评论 -
LeetCode两数之和
题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。来源:力扣(Le原创 2021-12-21 16:12:39 · 71 阅读 · 0 评论 -
最短补全词
题目描述来源:力扣(LeetCode)给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返回 words 中的 最短补全词 。补全词 是一个包含 licensePlate 中所有的字母的单词。在所有补全词中,最短的那个就是 最短补全词 。在匹配 licensePlate 中的字母时:忽略 licensePlate 中的 数字和空格 。不区分大小写。如果某个字母在 licensePlate 中出现不止一次,那么该字母在补全词中的出现次数应当一致或者更多原创 2021-12-10 19:02:55 · 202 阅读 · 0 评论