Keshawn_lu's Blog

Keshawn_lu's Blog

Become a better myself.

Leetcode 1790. 仅执行一次字符串交换能否使两个字符串相等
题目简介:给你长度相等的两个字符串 s1 和 s2 。一次 字符串交换 操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。 如果对 其中一个字符串 执行 最多一次字符串交换 就可以使两个字符串相等,返回 true ;否则,返回 false 。 示例 1: 123输入:s1 = "bank", s2 = "kanb"输出:true解释:例如,交换 s2 中的第一个和最后一个字符可以得到 "bank" 提示: 1 <= s1.length, s2.length <= 100 s1.l...
Leetcode 801. 使序列递增的最小交换次数
题目简介:我们有两个长度相等且不为空的整型数组 nums1 和 nums2 。在一次操作中,我们可以交换 nums1[i] 和 nums2[i]的元素。 例如,如果 nums1 = [1,2,3,8] , nums2 = [5,6,7,4] ,你可以交换 i = 3 处的元素,得到 nums1 =[1,2,3,4] 和 nums2 =[5,6,7,8] 。 返回 使 nums1 和 nums2 严格递增 所需操作的最小次数 。 数组 arr 严格递增 且 arr[0] < arr[1] < arr[2] < ... < arr[arr.length - 1] ...
Leetcode 856. 括号的分数
题目简介:给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分。 AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。 (A) 得 2 * A 分,其中 A 是平衡括号字符串。 示例 1: 12输入: "()"输出: 1 示例 2: 12输入: "()()"输出: 2 示例 3: 12输入: "(()(()))"输出: 6 提示: S 是平衡括号字符串,且只含有 ( 和 ) 。 2 <= S.length <= 50 思路:利用栈,遇到(时压入0,遇到)时则将栈中遇到0(也就...
Leetcode 870. 优势洗牌
题目简介:给定两个大小相等的数组 nums1 和 nums2,nums1 相对于 nums 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。 返回 nums1 的任意排列,使其相对于 nums2 的优势最大化。 示例 1: 12输入:nums1 = [2,7,11,15], nums2 = [1,10,4,11]输出:[2,11,7,15] 示例 2: 12输入:nums1 = [12,24,8,32], nums2 = [13,25,32,11]输出:[24,32,8,12] 提示: 1 <= nums1.length <= 10...
Leetcode 1800. 最大升序子数组和
题目简介:给你一个正整数组成的数组 nums ,返回 nums 中一个 升序 子数组的最大可能元素和。 子数组是数组中的一个连续数字序列。 已知子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,若对所有 i(l <= i < r),数组。注意,大小为 1 的子数组也视作 升序 子数组。 示例 1: 123输入:nums = [10,20,30,5,10,50]输出:65解释:[5,10,50] 是元素和最大的升序子数组,最大元素和为 65 。 提示: 1 <= nums.length <= 100 1 <= nums[i...
Leetcode 811. 子域名访问计数
题目简介:网站域名 "discuss.leetcode.com" 由多个子域名组成。顶级域名为 "com" ,二级域名为 "leetcode.com" ,最低一级为"discuss.leetcode.com" 。当访问域名 "discuss.leetcode.com" 时,同时也会隐式访问其父域名 "leetcode.com"以及 "com" 。 计数配对域名 是遵循 "rep d1.d2.d3" 或 "rep d1.d...
Leetcode 921. 使括号有效的最少添加
题目简介:只有满足下面几点之一,括号字符串才是有效的: 它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串 s ,移动N次,你就可以在字符串的任何位置插入一个括号。 例如,如果 s = "()))" ,你可以插入一个开始括号为 "(()))" 或结束括号为 "())))" 。 返回 为使结果字符串 s 有效而必须添加的最少括号数。 示例 1: 12输入:s = "())"输出:1...
Leetcode 1784. 检查二进制字符串字段
题目简介:给你一个二进制字符串 s ,该字符串 不含前导零 。 如果 s 包含 零个或一个由连续的 '1' 组成的字段 ,返回 true 。否则,返回 false 。 如果 s 中 由连续若干个 '1' 组成的字段 数量不超过 1,返回 true 。否则,返回 false 。 示例 1: 123输入:s = "1001"输出:false解释:由连续若干个 '1' 组成的字段数量为 2,返回 false 示例 2: 12输入:s = "110"输出:true 提示: 1 <= s.lengt...
Leetcode 777. 在LR字符串中交换相邻字符
题目简介:在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作。一次移动操作指用一个"LX"替换一个"XL",或者用一个"XR"替换一个"RX"。现给定起始字符串start和结束字符串end,请编写代码,当且仅当存在一系列移动操作使得start可以转换成end时, 返回True。 示例 : 123456789输入: start = "RXXLRXRXL", end = ...
Leetcode 1694. 重新格式化电话号码
题目简介:给你一个字符串形式的电话号码 number 。number 由数字、空格 ' '、和破折号 '-' 组成。 请你按下述方式重新格式化电话号码。 首先,删除 所有的空格和破折号。 其次,将数组从左到右 每 3 个一组 分块,直到 剩下 4 个或更少数字。剩下的数字将按下述规定再分块: 2 个数字:单个含 2 个数字的块。 3 个数字:单个含 3 个数字的块。 4 个数字:两个分别含 2 个数字的块。 最后用破折号将这些块连接起来。注意,重新格式化过程中 不应该 生成仅含 1 个数字的块,并且 最多 生成两个含 2 个数字的块。 返回格式化后...
avatar
鸣蜩十九
Always
友链
CSDN BiliBili