力扣LeetCode
_ElijAh
加油!
展开
-
分割圆的最少切割次数-Java-LeetCode第2481题
当n为1时,不需要切割。当n为奇数时,切割n次。当n为偶数时,切割n/2次。一些有效和无效的切割如下图所示。,请你返回将圆切割成相等的。原创 2023-06-18 00:02:54 · 137 阅读 · 0 评论 -
二进制字符串前缀一致的次数-Java-LeetCode第1375题
思路:遍历数组,并记录反转下标的最大值。如果遍历到第i个数,同时当前最大数为i,则答案+1。我们会按步翻转该二进制字符串的所有位(即,将。内的所有位都是 1 ,而其他位都是 0。开始的二进制字符串,所有位最开始都是。返回二进制字符串在翻转过程中。原创 2023-06-17 23:57:06 · 74 阅读 · 0 评论 -
组合总和-Java-LeetCode第39题
如果当前数a符合target-a>=0,则将该数添加到临时数组中,target-a继续进入下一次dfs。(注意:因为每个数可以无限重复使用,因此num不需要+1)如果target==0,说明当前临时数组里的数符合条件,将该临时数组加入到二重数组中。先建立一个二重数组用来保存最终的结果组合,再建立一个数组用来临时保存符合条件的数组。如果至少一个数字的被选数量不同,则两种组合是不同的。,并以列表形式返回。剪枝函数是当前数组的数已被用完。中可以使数字和为目标数。对于给定的输入,保证和为。原创 2023-06-12 19:41:33 · 63 阅读 · 0 评论 -
下一个排列-Java-LeetCode第31题
就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。思路:将数组左边的一个较小数与右边的一个较大数交换,然后对较大数右边进行重新排列,使变大的幅度尽可能最小。就是将其所有成员以序列或线性顺序排列。修改,只允许使用额外常数空间。原创 2023-06-08 20:58:02 · 80 阅读 · 0 评论 -
老鼠和奶酪-Java-LeetCode第2611题
思路:先把rewad2都加起来作为ans,然后把r1-r2的值存到新数组diffs中。然后对r1排序,从小到大。再把r1的后k位的diffs加到ans中。所以先把r2加起来,再加上r1从大到小的前k位的差就行了。因为第一只老鼠恰好吃掉k块奶酪后,其余的都是r2吃掉。块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。请你返回第一只老鼠恰好吃掉。原创 2023-06-07 22:02:08 · 183 阅读 · 0 评论 -
四数之和-Java-LeetCode第18题
其中还有一些剪枝函数,比如当nums[a]+nums[a+1]+nums[a+2]+nums[a+3]>target时,就可以直接跳出循环,因为后面的数都比这四个数大,无论如何也找不到=target的数。然后设置abcd四个下标,a从第一个元素开始到倒数第四个,b从a的下一个开始到倒数第三个;c从b的下一个开始,d从最后一个开始。思路:与前面的三数之和很相似,先对数组进行排序,然后创建一个二重数组来保存最终答案。最后将符合条件的数添加到数组中,将符合条件的数组添加到二重数组中。原创 2023-06-06 20:54:16 · 69 阅读 · 0 评论 -
最接近的三数之和-Java-LeetCode第16题
如果所求值比target大,则k向左移到下一个不相等的元素;反之,所求值比target小,则j向右移到下一个不相等的元素。i从第一个元素开始,j从i的下一个元素开始,k从最后一个元素开始,不断循环寻找最优解。因为求的时近似解,所以要用Math.abs求绝对值。思路:与上一题很接近。中选出三个整数,使它们的和与。假定每组输入只存在恰好一个解。原创 2023-06-06 20:12:50 · 83 阅读 · 0 评论 -
相等行列对-Java-LeetCode第2352题
如果行和列以相同的顺序包含相同的元素(即相等的数组),则认为二者是相等的。思路:对每一行,都分别与每一列进行对比,如果相等,计数器就+1。- (第 2 行,第 1 列):[2,7,7]原创 2023-06-06 19:48:12 · 87 阅读 · 0 评论 -
对数组执行操作-Java-LeetCode第2460题
思路:此题比较简单,从第一个元素开始,每个元素都与它的下一个元素比较,然后执行相应的操作。执行,而不是一次性全部执行。原创 2023-06-05 22:07:44 · 47 阅读 · 0 评论 -
三数之和-Java-LeetCode第15题
思路:先对nums进行排序,然后新建一个二层数组ans存放最终结果。因为答案中的数组有任意个,每个数组又有三个数,所以要用二层数组来存放。然后i从nums的第一个数开始,j从的下一位开始,k从数组的最后一个数开始,找到j+k=-i时的num存入ans。答案中不可以包含重复的三元组。,判断是否存在三元组。原创 2023-06-05 20:59:04 · 138 阅读 · 0 评论 -
可被 K 整除的最小整数-C语言-LeetCode
思路:首先排除2和5的倍数,因为它们的倍数无法乘出个位数为1的结果,对于其他剩余的数字,在k轮内必有解。对于剩余的有解的数,参照除法竖式,很容易就能求出。最小的答案是 n = 111,其长度为 3。最小的答案是 n = 1,其长度为 1。不存在可被 2 整除的正整数 n。可能不符合 64 位带符号整数。原创 2023-06-04 15:43:34 · 135 阅读 · 0 评论 -
字符串转换整数 (atoi)-C语言-LeetCode第8题
题目不难,但是通过率很低,应该是对上下限没有处理好,可以用double先存,进行比较判断,最后再强制转换。函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的。思路:题目很长,简单来说就是从字符串中提取出一个有符号的整数。原创 2023-06-04 15:16:49 · 47 阅读 · 0 评论 -
x的平方根-C语言-LeetCode第69题
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。原创 2023-05-28 21:41:29 · 278 阅读 · 0 评论 -
最后一个单词的长度-C语言-LeetCode第58题
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。原创 2023-05-28 17:18:48 · 227 阅读 · 0 评论 -
两两交换链表中的节点-C语言-LeetCode第24题
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。原创 2023-05-23 21:16:35 · 89 阅读 · 0 评论 -
括号生成-C语言-LeetCode第22题
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。原创 2023-05-23 20:56:21 · 114 阅读 · 0 评论 -
无重复字符的最长字串-C语言-LeetCode
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。原创 2023-05-21 15:53:38 · 190 阅读 · 0 评论 -
二进制求和-C语言-LeetCode第67题
给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。原创 2023-05-21 14:47:31 · 185 阅读 · 0 评论 -
电话号码的字母组合-C语言-LeetCode第17题
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。原创 2023-05-20 15:37:27 · 69 阅读 · 0 评论 -
整数转罗马数字-C语言-LeetCode第13题
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。原创 2023-05-18 20:31:23 · 42 阅读 · 0 评论 -
盛最多水的容器-C语言-LeetCode第11题
给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。原创 2023-05-18 19:28:40 · 56 阅读 · 0 评论 -
回文数-C语言-LeetCode第9题
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。原创 2023-05-17 21:23:40 · 84 阅读 · 0 评论 -
寻找两个正序数组的中位数-C语言-LeetCode第4题
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。原创 2023-05-15 16:19:21 · 56 阅读 · 0 评论 -
填充每个节点的下一个右侧节点指针-C语言-LeetCode116题
填充每个节点的下一个右侧节点指针-C语言-LeetCode116题原创 2023-05-14 16:45:27 · 39 阅读 · 0 评论 -
从前序与中序遍历序列构造二叉树-C语言-LeetCode105题
给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。原创 2023-05-14 16:36:11 · 81 阅读 · 0 评论 -
从中序与后序遍历序列构造二叉树-C语言-LeetCode106题
给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。原创 2023-05-14 16:26:57 · 146 阅读 · 0 评论