
算法
周三有雨
有的人看完战争与和平仍然只把它当成一个普通的冒险故事,而有些人只是读了口香糖的成分说明就解开了宇宙奥秘。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript——leetcode算法入门136. 只出现一次的数字【位运算专题】
题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4代码片/* * @lc app=leetcode.cn id=136 lang=javascript * * [136] 只出现一次的数字 */// @lc code=start/** * @param翻译 2022-04-02 09:17:59 · 259 阅读 · 0 评论 -
JavaScript——leetcode算法入门190. 颠倒二进制位【位运算专题】
题目描述颠倒给定的 32 位无符号整数的二进制位。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。示例 1:输入:n = 00000010100101000001111010011100翻译 2022-04-02 09:13:40 · 258 阅读 · 0 评论 -
JavaScript——leetcode算法入门191. 位1的个数【位运算专题】
题目描述编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。示例 1:输入:00000000000000翻译 2022-04-02 09:07:56 · 211 阅读 · 0 评论 -
JavaScript——leetcode算法入门231. 2 的幂【位运算专题】
题目描述给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。示例 1:输入:n = 1输出:true解释:20 = 1示例 2:输入:n = 16输出:true解释:24 = 16示例 3:输入:n = 3输出:false示例 4:输入:n = 4输出:true示例 5:输入:n = 5输出:false代码片//方法一var isPow翻译 2022-04-02 09:01:22 · 206 阅读 · 0 评论 -
JavaScript——leetcode算法入门19. 删除链表的倒数第 N 个结点【双指针专题】
题目描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]代码片/* * @lc app=leetcode.cn id=19 lang=javascript * * [19] 删除链表的倒数第 N 个结点 */// @lc code=start翻译 2022-03-25 16:32:59 · 118 阅读 · 0 评论 -
JavaScript——leetcode算法入门876. 链表的中间结点【双指针专题】
题目描述给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next翻译 2022-03-25 16:31:40 · 267 阅读 · 0 评论 -
JavaScript——leetcode算法入门557. 反转字符串中的单词 III【双指针专题】
题目描述给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入:s = “Let’s take LeetCode contest”输出:“s’teL ekat edoCteeL tsetnoc”示例 2:输入: s = “God Ding”输出:“doG gniD”代码片/* * @lc app=leetcode.cn id=557 lang=javascript * * [557] 反转字符串中的单词 III * 解题思路:翻译 2022-03-25 16:29:30 · 230 阅读 · 0 评论 -
JavaScript——leetcode算法入门344. 反转字符串【双指针专题】
题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]代码片/* * @lc app=leetcode.cn i翻译 2022-03-25 16:28:25 · 234 阅读 · 0 评论 -
JavaScript——leetcode算法入门167. 两数之和 II - 输入有序数组【双指针专题】
题目描述给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。你可以假设每个输入 只对应唯一的答翻译 2022-03-25 16:26:26 · 334 阅读 · 0 评论 -
JavaScript——leetcode算法入门283. 移动零【双指针专题】
题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]代码片/* * @lc app=leetcode.cn id=283 lang=javascript * * [283] 移动零 */// @lc code=start/** *翻译 2022-03-25 16:24:03 · 200 阅读 · 0 评论 -
JavaScript——leetcode算法入门189. 轮转数组【双指针专题】
题目描述给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例 2:输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99翻译 2022-03-25 16:22:00 · 384 阅读 · 0 评论 -
JavaScript——leetcode算法入门977. 有序数组的平方【双指针专题】
题目描述给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]代码片/* * @lc app=leetcode.cn id=977 lang=ja翻译 2022-03-25 16:09:24 · 125 阅读 · 0 评论 -
JavaScript——leetcode算法入门35. 搜索插入位置【二分查找专题】
题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: nums = [1,3,5,6], t翻译 2022-03-21 14:58:51 · 293 阅读 · 1 评论 -
JavaScript——leetcode算法入门278. 第一个错误的版本【二分查找专题】
题目描述你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:输入:n = 5,翻译 2022-03-21 14:55:07 · 160 阅读 · 0 评论 -
JavaScript——leetcode算法入门704. 二分查找【二分查找专题】
题目描述给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1代码片/* * @lc翻译 2022-03-21 14:52:49 · 156 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 56 - Ⅱ. 数组中数字出现的次数【位运算专题】
题目描述在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1代码片/** * @param {number[]} nums * @return {number} *//** * * 解题思路如下:一个整数是由32个0或者1组成的,我们可以将数组中所有数字的同一个位置的数位相加,如果将出现3次的数字单独拿原创 2022-03-02 14:48:06 · 937 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 56 - I. 数组中数字出现的次数【位运算专题】
题目描述一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]代码片/** * @param {number[]} nums * @return {number[]} */ var singleNumbers原创 2022-03-02 14:46:36 · 504 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 65. 不用加减乘除做加法【位运算专题】
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2代码片/** * @param {number} a * @param {number} b * @return {number} */ var add = function(a, b) { let sum, carry; do { //相加 不考虑进位 sum = a ^ b;原创 2022-03-02 14:45:38 · 456 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 15. 二进制中1的个数【位运算专题】
题目描述编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用 二进制补码 记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。示例 1:输入:n = 11 (控原创 2022-03-02 14:44:05 · 170 阅读 · 0 评论 -
JavaScript——leetcode537. 复数乘法
题目描述复数 可以用字符串表示,遵循 “实部+虚部i” 的形式,并满足下述条件:实部 是一个整数,取值范围是 [-100, 100]虚部 也是一个整数,取值范围是 [-100, 100]i2 == -1给你两个字符串表示的复数 num1 和 num2 ,请你遵循复数表示形式,返回表示它们乘积的字符串。示例 1:输入:num1 = “1+1i”, num2 = “1+1i”输出:“0+2i”解释:(1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要将它转原创 2022-02-25 16:24:36 · 188 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 55 - II. 平衡二叉树【搜索与回溯算法专题】
题目描述输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7]3/ \9 20/ \15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4]1/ \2 2/ \3 3/ \4 4返回 false 。代码片/* * @lc app=leetcode.cn id=原创 2022-02-25 16:22:43 · 134 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 55 - I. 二叉树的深度【搜索与回溯算法专题】
题目描述输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7返回它的最大深度 3 。代码片/* * @lc app=leetcode.cn id=104 lang=javascript * * [104] 二叉树的最大深度 */// @lc code=start/** * Definition原创 2022-02-25 14:13:04 · 307 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 61. 扑克牌中的顺子【排序专题】
题目描述从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True代码片/** * @param {number[]} nums * @return {boolean} *///方法一:用map去存已经存在过的数字 var isStra原创 2022-02-24 11:03:38 · 705 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 45. 把数组排成最小的数【排序专题】
题目描述输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: “102”示例 2:输入: [3,30,34,5,9]输出: “3033459”代码片/** * @param {number[]} nums * @return {string} */ var minNumber = function(nums) { //采用模板字符串 return nums.sort((a,b) =&g原创 2022-02-24 10:55:00 · 578 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 41. 数据流中的中位数【排序专题】
题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的中位数。示例 1:输入:原创 2022-02-24 10:48:15 · 205 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 40. 最小的k个数【排序专题】
题目描述输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]代码片/** * @param {number[]} arr * @param {number} k * @return {number[]} */ var getLeastNu原创 2022-02-24 10:39:11 · 315 阅读 · 0 评论 -
JavaScript——leetcode917. 仅仅反转字母
题目描述给你一个字符串 s ,根据下述规则反转字符串:所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。返回反转后的 s 。示例 1:输入:s = “ab-cd”输出:“dc-ba”示例 2:输入:s = “a-bC-dEf-ghIj”输出:“j-Ih-gfE-dCba”示例 3:输入:s = “Test1ng-Leet=code-Q!”输出:“Qedo1ct-eeLg=ntse-T!”代码片/* * @lc app=leetcode.cn id=917 la原创 2022-02-23 17:11:00 · 208 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 58 - I. 翻转单词顺序
题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: “a原创 2022-02-23 17:07:13 · 186 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 57. 和为s的两个数字
题目描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]代码片/** * @param {number[]} nums * @param {number} target原创 2022-02-23 17:04:16 · 159 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。代码片/* * @lc app=leetcode.cn id=21 lang=javascript * * [21] 合并两个有序链表 */// @lc code=start/** * Definition for singly-linked lis原创 2022-02-23 16:46:05 · 132 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 54. 二叉搜索树的第k大节点
题目描述给定一棵二叉搜索树,请找出其中第 k 大的节点的值。示例 1:输入: root = [3,1,4,null,2], k = 13/ \1 4\2输出: 4示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 35/ \3 6/ \2 4/1输出: 4代码片/** * Definition for a binary tree node. * function TreeNode(val) { * th原创 2022-02-22 16:29:23 · 86 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 36. 二叉搜索树与双向链表
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。特别地,我们希望可以就地完成转换操作。当转化完成以后,树中节点的左指针需原创 2022-02-22 16:06:42 · 284 阅读 · 0 评论 -
JavaScript——leetcode1791 找出星型图的中心节点
题目描述有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。给你一个二维整数数组 edges ,其中 edges[i] = [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你找出并返回 edges 所表示星型图的中心节点。示例 1:输入:edges = [[1,2],[2,3],[4,2]]输出:2解释:如上图所示,节点 2 与其他每个节点都相连,所以节点 2 是中心节点。示例原创 2022-02-18 15:02:25 · 131 阅读 · 0 评论 -
JavaScript——leetcode剑指Offer22 链表中倒数第k个节点
题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.代码片/** * Definition for singly-linked list. * function ListN原创 2022-02-18 15:00:17 · 608 阅读 · 0 评论 -
JavaScript——leetcode剑指Offer18 删除链表的节点
题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数原创 2022-02-18 14:55:23 · 472 阅读 · 0 评论 -
JavaScript——leetcode剑指Offer28 对称的二叉树
题目描述请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ \2 2/ \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2 2\ \3 3示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]原创 2022-02-17 15:24:18 · 336 阅读 · 0 评论 -
JavaScript——leetcode剑指Offer27 二叉树的镜像
题目描述请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4/ \2 7/ \ / 1 3 6 9镜像输出:4/ \7 2/ \ / \9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]代码片/* * @lc app=leetcode.cn id=226 lang=javascript * * [226] 翻转二叉树 */// @lc cod原创 2022-02-17 15:22:29 · 127 阅读 · 0 评论 -
JavaScript——leetcode剑指 Offer 26 树的子结构
题目描述输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A:3/ \4 5/ \1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A = [3,4,5,1,2], B = [4,1]输出:true代码片/** * @p原创 2022-02-17 15:20:13 · 108 阅读 · 0 评论 -
JavaScript——leetcode剑指Offer48 最长不含重复字符的子字符串
题目描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是原创 2022-02-17 15:16:15 · 105 阅读 · 0 评论 -
JavaScript——leetcode剑指Offer 46. 把数字翻译成字符串
题目描述给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", “bwfi”, “bczi”, “mcfi"和"mzi”代码片/** * @param {number} num * @return {number} */原创 2022-02-17 15:14:43 · 353 阅读 · 0 评论