/** * <p>给定两个单词 <code>word1</code> 和<meta charset="UTF-8" /> <code>word2</code> ,返回使得<meta charset="UTF-8" /> <code>word1</code>&nb
题目 有效数字(按顺序)可以分成以下几个部分: 一个 小数 或者 整数 (可选)一个 'e' 或 'E' ,后面跟着一个 整数 小数(按顺序)可以分成以下几个部分: (可选)一个符号字符('+' 或 '-') 下述格式之一: 至少一位数字,后面跟着一个点 '.' 至少一位数字,后面跟着一个点 '.' ,后面再跟着至少一位数字 一个
1.解密消息 解题思路: 我们用一个哈希表来记录下我们的这些第一次字符的出现位置,然后在遍历需要解密的字符串,利用已经记录好的哈希表来进行解密。 Tag: 哈希表 Code: class Solution { public: string decodeMessage(string key, string message) { unordered_map<ch
You are implementing a program to use as your calendar. We can add a new event if adding the event will not cause a double booking. A double booking happens when two events have some non-empty intersection (i.e., some moment is common to both events.). Th
题目 给你个整数数组 arr,其中每个元素都 不相同。 请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。 示例 1: 输入:arr = [4,2,1,3] 输出:[[1,2],[2,3],[3,4]] 示例 2: 输入:arr = [1,3,6,10,15] 输出:[[1,3]] 示例 3: 输入:arr = [3,8,-10,23,19,-4,-14,27] 输出:[[-14,-10],[
题目 给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 误区 1. 是否贪心 可以通过是否有反例来证明可贪心 2.
VSCode for LeetCode TestCase Template All In One VSCode for LeetCode 测试用例模版 "use strict"; /** * * @author xgqfrms * @license MIT * @copyright xgqfrms * @created 2022-07-04 * @modified * * @description 459. Repeated Substring Patter
链接:LeetCode [Leetcode]2287. 重排字符形成目标字符串 给你两个下标从 0 开始的字符串 s 和 target 。你可以从 s 取出一些字符并将其重排,得到若干新的字符串。 从 s 中取出字符并重新排列,返回可以形成 target 的 最大 副本数。 遍历即可。 class Solution { public int rear
题目 给你一个正整数 n ,请你找出符合条件的最小整数,其由重新排列 n 中存在的每位数字组成,并且其值大于 n 。如果不存在这样的正整数,则返回 -1 。 注意 ,返回的整数应当是一个 32 位整数 ,如果存在满足题意的答案,但不是 32 位整数 ,同样返回 -1 。 示例 1: 输入:n = 12 输出:21 示例 2
6108. 解密消息 题目分析:给定key 和 message,其中key中26个英文小写字母首次出现的顺序作为替换表中的字母顺序,听起来有点绕口,如:"the quick..."对应"abc defgh...",即key首次出现的字母按字母表顺序映射,因此直接用哈希表模拟,将message的每个字母替换,' '不变。 class Solution {
一道比较显然的贪心。 首先我们很容易想到枚举所有的排列情况,但是这样是显然不能通过的。其次我们可以贪心地考虑,思路:假设我们有一个数$n$是ABCDEF(ABCDEF都是数字),既然要找大于$n$的最小排列,我们其实只需要从个位开始考虑,变化越小的数位越好。 以数$1961283241$为例,从
nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。 对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下
汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 station[i][1] 升汽油。 假设汽车油箱的容量是无限的,其中最初有 startFuel 升燃料。它每行驶 1 英里就会
汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 station[i][1] 升汽油。 假设汽车油箱的容量是无限的,其中最初有 startFuel 升燃料。它每行驶 1 英里就会
考虑可以用多种解法解决该题。 首先很容易想到用$O(n^2)$的递推dp。设$d[i][j]$为到达第i站前加油次数为j时的最大油量,最后直接找终点最小值就行。鉴于数据规模比较小,stations.length<=500,因此$O(n^2)$是可以通过的。 long long d[503][503]; class Solution { public:
链接:https://leetcode.cn/problems/patients-with-a-condition/ 我的代码 select * from Patients where conditions like 'DIAB1%' or conditions like '% DIAB1%' 提交结果 执行结果: 通过 显示详情 添加备注 执行用时: 364 ms , 在所有 MySQL 提交中击败了 55.63% 的用户 内存消
珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;
LeetCode面试题 04.06. 后继者 求中序遍历中给定节点的后一个节点,分右子树中/父节点中 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution:
Add Two Numbers LeetCode/力扣 模拟两个数相加 用一个数表示进位 ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode *t1 = l1, *t2 = l2; int n1 = 0, n2 = 0, c = 0; ListNode *prev = nullptr; while(t1 && t2) { int sum = t1->val
LeetCode 518. Coin Change 2 (零钱兑换 II) 题目 链接 https://leetcode.cn/problems/coin-change-2/ 问题描述 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0
一、题目大意 标签: 动态规划 https://leetcode.cn/problems/coin-change 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的
给你两个整数数组 arr1 , arr2 和一个整数 d ,请你返回两个数组之间的 距离值 。 「距离值」 定义为符合此距离要求的元素数目:对于元素 arr1[i] ,不存在任何元素 arr2[j] 满足 |arr1[i]-arr2[j]| <= d 。 示例 1: 输入:arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2 输出:2 解释: 对于 arr1
链接:LeetCode [Leetcode]2278. 字母在字符串中的百分比 给你一个字符串 s 和一个字符 letter ,返回在 s 中等于 letter 字符所占的 百分比 ,向下取整到最接近的百分比。 只要可以选出满足条件的下标,就一直执行这个操作。 在执行所有操作后,返回 words 。可以证明,按任意顺序为每步操作
#1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,
题目: 给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。元素的相对顺序应该保持一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有k个元素,那么nums的前k个