leetcode

Rain的Java大神之路3 小时前
java·后端·leetcode
LeetCode 37 解数独面试攻略:回溯 + 位掩码 + MRV,从暴力到毫秒级求解上个月有个读者面试被问住了:LeetCode 37. 解数独,暴力写法能跑,可面试官一句"还能怎么优化"直接卡壳。这题挂着 Hard 的名头,其实是回溯算法最好的入门题。今天就带大家从暴力穷举一路优化到毫秒级求解,连追问都给你备好了,可以直接背。
Pniubi4 小时前
算法·leetcode·矩阵
力扣73 矩阵置零73. 矩阵置零 - 力扣(LeetCode)你不需要知道具体哪个位置有0,你只用标记有0的行/列,然后把这些都变成0即可
文丑颜不良啊20 小时前
java·leetcode
LeetCode2261~2280题目解析给你一个整数数组 nums 和两个整数 k 和 p,找出并返回满足要求的不同的子数组数,要求子数组中最多 k 个可被 p 整除的元素。如果两数组长度不同,或存在至少一个下标 i 满足 nums1[i] != nums2[i],则认为两数组不同。子数组定义为数组中的连续元素组成的非空序列。
文丑颜不良啊1 天前
java·leetcode
LeetCode2241~2260题目解析一个 ATM 机器,存有 5 种面值的钞票:20、50、100、200 和 500 美元。初始时,ATM 机是空的。用户可以用它存或者取任意数目的钱。取款时,机器会优先取较大数额的钱。请你实现 ATM 类:ATM() 初始化 ATM 对象;void deposit(int[] banknotesCount) 分别存入 $20、$50、$100、$200 和 $500 钞票的数目;int[] withdraw(int amount) 返回一个长度为 5 的数组,分别表示 $20、$50、$100、$200
文丑颜不良啊1 天前
java·leetcode
LeetCode2321~2340题目解析给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,长度都是 n 。可以选择两个整数 left 和 right(0 <= left <= right < n),接着交换两个子数组 nums1[left...right] 和 nums2[left...right]。可以执行该操作一次或不执行。数组的分数取 sum(nums1) 和 sum(nums2) 中的最大值,返回可能的最大分数。
文丑颜不良啊2 天前
java·leetcode
LeetCode2221~2240题目解析给你一个下标从 0 开始的整数数组 nums,其中 nums[i] 是 0 到 9 之间(两者都包含)的一个数字。nums 的三角和是执行以下操作以后最后剩下元素的值:nums 初始包含 n 个元素,如果 n == 1 终止操作;否则创建一个新的长度为 n - 1 的整数数组 newNums,对于满足 0 <= i < n - 1 的下标 i,newNums[i] = (nums[i] + nums[i+1]) % 10。用 newNums 替换 nums 并重复,直到只剩一个元素。返回 nums 的三角
Navigator_Z2 天前
c语言·算法·leetcode
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero IntegersNo-Zero integer is a positive integer that does not contain any 0 in its decimal representation.
文丑颜不良啊2 天前
java·leetcode
LeetCode2161~2180题目解析给你一个下标从 0 开始的整数数组 nums 和一个整数 pivot。请你将 nums 重新排列,使得:
文丑颜不良啊2 天前
java·leetcode
LeetCode2141~2160题目解析你有 n 台电脑。给你整数 n 和一个下标从 0 开始的整数数组 batteries,其中第 i 个电池可以让一台电脑 运行 batteries[i] 分钟。你想使用这些电池让全部 n 台电脑同时运行。一开始,你可以给每台电脑连接至多一个 电池。然后在任意整数时刻,你都可以将一台电脑与它的电池断开连接,并连接另一个电池(可以任意次, 也可以是别的电脑用过的电池)。断开和连接不花费时间。注意,你不能给电池充电。 返回可以让 n 台电脑同时运行的最长分钟数。
Dream it possible!3 天前
算法·leetcode·面试·动态规划
LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
心抵鹊3 天前
算法·leetcode
算法之双指针系列(一)力扣 283 题:移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
Pniubi3 天前
算法·leetcode·职场和发展
力扣560.和为k的子数组560. 和为 K 的子数组 - 力扣(LeetCode)简单枚举:同理也可以从右往左看来解答(方法二需要这个角度来解答)
Pniubi3 天前
算法·leetcode·职场和发展
力扣438.找到字符串中所有字母异位词438. 找到字符串中所有字母异位词 - 力扣(LeetCode)这里并没有传统的指针来表示窗口,而是用简单的字母数量来维护窗口
文丑颜不良啊3 天前
java·leetcode
LeetCode2081~2100题目解析k 镜像数字指一个在十进制下是一个回文数,且它在 k 进制下也是一个回文数的正整数。 例如,9 在十进制下是回文数,它在二进制下是 1001(1001 也是回文),所以 9 是 2 镜像数字。 给你整数 k 和一个整数 n,请返回 k 镜像数字中最小的 n 个数之和。
文丑颜不良啊3 天前
java·leetcode
LeetCode2061~2080题目解析一个房间用一个从 0 开始索引的二维二进制矩阵 room 表示,其中 0 表示空闲空间,1 表示放有物体的空间。 在每个测试用例中,房间左上角永远是空闲的。 一个扫地机器人面向右侧,从左上角开始清扫。机器人将一直前进,直到抵达房间边界或触碰到物体时, 机器人将会顺时针旋转 90 度并重复以上步骤。初始位置和所有机器人走过的空间都会被它清扫干净。 若机器人持续运转下去,返回被清扫干净的空间数量。
文丑颜不良啊4 天前
java·leetcode
LeetCode1941~1960题目解析给你一个字符串 s,如果 s 是一个「好」字符串,请你返回 true,否则请返回 false。 如果 s 中出现过的所有字符的出现次数相同,那么我们称字符串 s 是「好」字符串。
文丑颜不良啊4 天前
java·leetcode
LeetCode1961~1980题目解析给你一个字符串 s 和一个字符串数组 words,请你判断 s 是否为 words 的前缀字符串。 字符串 s 要成为 words 的前缀字符串,需要满足:s 可以由 words 中的前 k (k 为正数)个字符串按顺序相连得到,且 k 不超过 words.length。 如果 s 是 words 的前缀字符串,返回 true;否则,返回 false。
文丑颜不良啊4 天前
java·leetcode
LeetCode2001~2020题目解析用一个下标从 0 开始的二维整数数组 rectangles 来表示 n 个矩形,其中 rectangles[i] = [width_i, height_i] 表示第 i 个矩形的宽度和高度。如果两个矩形 i 和 j(i < j)满足 width_i / height_i == width_j / height_j (使用实数除法而非整数除法),则认为这两个矩形可互换。计算并返回 rectangles 中有多少对可互换矩形。
文丑颜不良啊4 天前
java·leetcode
LeetCode2021~2040题目解析一条街上有很多的路灯,路灯的坐标由数组 lights 给出。每个 lights[i] = [position_i, range_i] 代表坐标为 position_i 的路灯照亮的范围为 [position_i - range_i, position_i + range_i](包括顶点)。 位置 p 的亮度由能够照到 p 的路灯的数量决定。给出 lights,返回最亮的位置;如果有多个,返回坐标最小的。