剑指offer
叶落雨飘
emmmmm 我是一只小萌新~
展开
-
[剑指offer专项突击版-Java解法]剑指 Offer II 036. 后缀表达式
剑指 Offer II 036. 后缀表达式题目描述根据 逆波兰表示法,求该后缀表达式的计算结果。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入:tokens = ["2","1","+","3","*"]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例 2:输入:to原创 2021-09-29 19:25:44 · 330 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 035. 最小时间差
剑指 Offer II 035. 最小时间差题目描述给定一个 24 小时制(小时:分钟 “HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。示例 1:输入:timePoints = ["23:59","00:00"]输出:1示例 2:输入:timePoints = ["00:00","23:59","00:00"]输出:0提示:2 <= timePoints <= 2 * 104timePoints[i] 格式为 "HH:MM"思路解析原创 2021-09-29 18:47:09 · 338 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 034. 外星语言是否排序
剑指 Offer II 034. 外星语言是否排序题目描述某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。给定一组用外星语书写的单词 words,以及其字母表的顺序 order,只有当给定的单词在这种外星语中按字典序排列时,返回 true;否则,返回 false。示例 1:输入:words = ["hello","leetcode"], order = "hlabcdefgijkmnopqrstuvwxyz"输出:true解释:在该语原创 2021-09-28 10:25:10 · 208 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 033. 变位词组
剑指 Offer II 033. 变位词组题目描述给定一个字符串数组 strs ,将 变位词 组合在一起。 可以按任意顺序返回结果列表。**注意:**若两个字符串中每个字符出现的次数都相同,则称它们互为变位词。示例 1:输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","tan"],["ate","eat","tea"]]示例 2:输入: strs = [""]输出: [[""]]示例原创 2021-09-27 21:56:42 · 160 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 027. 回文链表
剑指 Offer II 027. 回文链表题目描述给定一个链表的 头节点 head **,**请判断其是否为回文链表。如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。示例 1:输入: head = [1,2,3,3,2,1]输出: true示例 2:输入: head = [1,2]输出: false提示:链表 L 的长度范围为 [1, 105]0 <= node.val <= 9**进阶:**能否用 O(n) 时间复杂度和 O(1) 空间原创 2021-09-27 17:17:29 · 120 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 026. 重排链表
剑指 Offer II 026. 重排链表题目描述给定一个单链表 L 的头节点 head ,单链表 L 表示为:L0 → L1 → … → Ln-1 → Ln请将其重新排列后变为:L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入: head = [1,2,3,4]输出: [1,4,2,3]示例 2:输入: head = [1,2,3,4,5]输出: [1,5,2,4,3]提示:原创 2021-09-27 16:47:30 · 309 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 025. 链表中的两数相加
剑指 Offer II 025. 链表中的两数相加题目描述给定两个 非空链表 l1和 l2 来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。可以假设除了数字 0 之外,这两个数字都不会以零开头。示例 1:输入:l1 = [7,2,4,3], l2 = [5,6,4]输出:[7,8,0,7]示例 2:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[8,0,7]示例3:输入:l1 = [0], l2 =原创 2021-09-27 15:59:10 · 170 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 023. 两个链表的第一个重合节点
剑指 Offer II 023. 两个链表的第一个重合节点题目描述给定两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skip原创 2021-09-26 10:32:05 · 145 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 020. 回文子字符串的个数
剑指 Offer II 020. 回文子字符串的个数题目描述给定一个字符串 s ,请计算这个字符串中有多少个回文子字符串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例 1:输入:s = "abc"输出:3解释:三个回文子串: "a", "b", "c"示例 2:输入:s = "aaa"输出:6解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"提示:1 <= s.length <= 1000原创 2021-09-25 09:44:04 · 186 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 019. 最多删除一个字符得到回文
剑指 Offer II 019. 最多删除一个字符得到回文题目描述给定一个非空字符串 s,请判断如果 最多 从字符串中删除一个字符能否得到一个回文字符串。示例 1:输入: s = "aba"输出: true示例 2:输入: s = "abca"输出: true解释: 可以删除 "c" 字符 或者 "b" 字符示例3:输入: s = "abc"输出: false提示:1 <= s.length <= 105s 由小写英文字母组成思路解析1.回文串升级版原创 2021-09-24 21:56:23 · 228 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 018. 有效的回文
剑指 Offer II 018. 有效的回文题目描述给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。本题中,将空字符串定义为有效的 回文串 。示例 1:输入: s = "A man, a plan, a canal: Panama"输出: true解释:"amanaplanacanalpanama" 是回文串示例 2:输入: s = "race a car"输出: false解释:"raceacar" 不是回文串提示:1 <原创 2021-09-24 21:39:32 · 130 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 017. 含有所有字符的最短字符串
剑指 Offer II 017. 含有所有字符的最短字符串题目描述给定两个字符串 s 和 t 。返回 s 中包含 t 的所有字符的最短子字符串。如果 s 中不存在符合条件的子字符串,则返回空字符串 “” 。如果 s 中存在多个符合条件的子字符串,返回任意一个。注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。示例 1:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC" 解释:最短子字符串 "BANC" 包含了字符串 t原创 2021-09-24 21:15:58 · 243 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 016. 不含重复字符的最长子字符串
剑指 Offer II 016. 不含重复字符的最长子字符串题目描述给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子字符串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子字符串是 "b",所以其长度为 1。示例3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是&nb原创 2021-09-24 21:00:24 · 178 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 015. 字符串中的所有变位词
剑指 Offer II 015. 字符串中的所有变位词题目描述给定两个字符串 s 和 p,找到 s 中所有 p 的 变位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。变位词 指字母相同,但排列不同的字符串。示例 1:输入: s = "cbaebabacd", p = "abc"输出: [0,6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的变位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的变位词。示例 2:输入: s = "a原创 2021-09-24 20:39:32 · 140 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 014. 字符串中的变位词
剑指 Offer II 014. 字符串中的变位词题目描述给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的某个变位词。换句话说,第一个字符串的排列之一是第二个字符串的 子串 。示例 1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例 2:输入: s1= "ab" s2 = "eidboaoo"输出: False提示:1 <= s1.length, s2.leng原创 2021-09-24 20:27:08 · 168 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 013. 二维子矩阵的和
剑指 Offer II 013. 二维子矩阵的和题目描述给定一个二维矩阵 matrix,以下类型的多个请求:计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。实现 NumMatrix 类:NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进行初始化int sumRegion(int row1, int col1, int row2, int col2) 返回左上角 (row1, col1) 、右下角原创 2021-09-24 18:01:06 · 205 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 012. 左右两边子数组的和相等
剑指 Offer II 012. 左右两边子数组的和相等题目描述给你一个整数数组 nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。示例 1:输入:nums = [1,7,3,6,5,6]输出:3解释:中原创 2021-09-24 17:08:19 · 168 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 011. 0 和 1 个数相同的子数组
剑指 Offer II 011. 0 和 1 个数相同的子数组题目描述给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。示例 2:输入: nums = [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量 0 和 1 的最长连续子数组。提示:1 <= nums.len原创 2021-09-24 16:18:24 · 167 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 010. 和为 k 的子数组
剑指 Offer II 010. 和为 k 的子数组题目描述给定一个整数数组和一个整数 k **,**请找到该数组中和为 k 的连续子数组的个数。示例 1:输入:nums = [1,1,1], k = 2输出: 2解释: 此题 [1,1] 与 [1,1] 为两种不同的情况示例 2:输入:nums = [1,2,3], k = 3输出: 2提示:1 <= nums.length <= 2 * 104-1000 <= nums[i] <= 1000-10原创 2021-09-24 15:30:25 · 151 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 009. 乘积小于 K 的子数组
剑指 Offer II 009. 乘积小于 K 的子数组题目描述给定一个正整数数组 nums和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数。示例 1:输入: nums = [10,5,2,6], k = 100输出: 8解释: 8 个乘积小于 100 的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。需要注意的是 [10,5,2] 并不是乘积小于100的子数组。示例 2:输入: nums = [1,2原创 2021-09-21 23:03:38 · 237 阅读 · 3 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 008. 和大于等于 target 的最短子数组
剑指 Offer II 008. 和大于等于 target 的最短子数组题目描述给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。示例 2:输原创 2021-09-21 16:52:42 · 157 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 007. 数组中和为 0 的三个数
剑指 Offer II 007. 数组中和为 0 的三个数题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0 ?请找出所有和为 0 且 不重复 的三元组。示例示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.l原创 2021-09-21 16:06:53 · 165 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 006. 排序数组中两个数字之和
剑指 Offer II 006. 排序数组中两个数字之和题目描述给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < numbers.length 。假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用两次。示例示例 1:原创 2021-09-21 15:38:37 · 135 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 005. 单词长度的最大乘积
剑指 Offer II 005. 单词长度的最大乘积题目描述给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。示例示例 1:输入: words = ["abcw","baz","foo","bar","fxyz","abcdef"]输出: 16 解释: 这两个单词为 "abcw", "fxyz"。它们不包含相同字符,且长度的乘积最大原创 2021-09-21 15:18:49 · 208 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 004. 只出现一次的数字
剑指 Offer II 004. 只出现一次的数字 题目描述给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 **三次 。**请你找出并返回那个只出现了一次的元素。示例示例 1:输入:nums = [2,2,3,2]输出:3示例 2:输入:nums = [0,1,0,1,0,1,100]输出:100提示:1 <= nums.length <= 3 * 104-231 <= nums[i] <= 231 - 1nums 中,原创 2021-09-20 15:13:06 · 145 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 003. 前 n 个数字二进制中 1 的个数
剑指 Offer II 003. 前 n 个数字二进制中 1 的个数题目描述给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。示例 1:输入: n = 2输出: [0,1,1]解释: 0 --> 01 --> 12 --> 10示例 2:输入: n = 5输出: [0,1,1,2,1,2]解释:0 --> 01 --> 12 --> 103 --> 114 --&g原创 2021-09-20 15:10:38 · 135 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 002. 二进制加法
剑指 Offer II 002. 二进制加法题目描述给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "10"输出: "101"示例 2:输入: a = "1010", b = "1011"输出: "10101" 提示:每个字符串仅由字符 '0' 或 '1' 组成。1 <= a.length, b.length &l原创 2021-09-19 21:55:08 · 187 阅读 · 0 评论 -
[算法练习及思路-leetcode每日一题(Java解法)]No650.只有两个键的键盘
题号:no650题目:只有两个键的键盘题目描述最初记事本上只有一个字符 ‘A’ 。你每次可以对这个记事本进行两种操作:Copy All(复制全部):复制这个记事本中的所有字符(不允许仅复制部分字符)。Paste(粘贴):粘贴 上一次 复制的字符。给你一个数字 n ,你需要使用最少的操作次数,在记事本上输出 恰好 n 个 ‘A’ 。返回能够打印出 n 个 ‘A’ 的最少操作次数。示例示例 1:输入:3输出:3解释:最初, 只有一个字符 'A'。第 1 步, 使用 Copy原创 2021-09-19 20:45:46 · 115 阅读 · 0 评论 -
[剑指offer专项突击版-Java解法]剑指 Offer II 001. 整数除法
剑指 Offer II 001. 整数除法题目描述给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 ‘*’、除号 ‘/’ 以及求余符号 ‘%’ 。注意:整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231−1]。本题中,如果除法结果溢出,则返回 231 − 1示例 1:输入:a = 15, b原创 2021-09-19 16:14:19 · 251 阅读 · 0 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No69.股票的最大利润
题号:剑指 Offer 63题目名:股票的最大利润原题URL:https://leetcode-cn.com/problems/gu-piao-de-zui-da-li-run-lcof/题目描述假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润原创 2020-12-21 16:27:05 · 128 阅读 · 0 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No61.和为s的连续正数序列
题号:剑指 Offer 57 - II题目名:和为s的连续正数序列原题URL:https://leetcode-cn.com/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lcof/题目描述输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:targe原创 2020-12-21 11:52:24 · 133 阅读 · 0 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No57.平衡二叉树
题号:剑指 Offer 55 - II题目名:平衡二叉树原题URL:https://leetcode-cn.com/problems/ping-heng-er-cha-shu-lcof/题目描述输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true原创 2020-12-20 17:13:16 · 96 阅读 · 1 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No56.二叉树的深度
题号:剑指 Offer 55 - I题目名:二叉树的深度原题URL:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/题目描述输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。示例示例 1: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最原创 2020-12-19 17:25:14 · 80 阅读 · 1 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No55.二叉搜索树的第k大节点
题号:剑指 Offer 54题目名:二叉搜索树的第k大节点原题URL:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/题目描述给定一棵二叉搜索树,请找出其中第k大的节点。示例示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 4示例 2:输入: root = [5,3,6,2,4,null,null,原创 2020-12-19 17:18:29 · 133 阅读 · 1 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No53.在排序数组中查找数字 I
题号:剑指 Offer 53 - I题目名:在排序数组中查找数字 I原题URL:https://leetcode-cn.com/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/题目描述统计一个数字在排序数组中出现的次数。示例示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制原创 2020-12-19 16:39:22 · 103 阅读 · 1 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No52.两个链表的第一个公共节点
题号:剑指 Offer 52题目名:两个链表的第一个公共节点原题URL:https://leetcode-cn.com/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof/题目描述输入两个链表,找出它们的第一个公共节点。示例示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Refer原创 2020-12-19 16:07:51 · 138 阅读 · 1 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No50.第一个只出现一次的字符
题号:剑指 Offer 50题目名:第一个只出现一次的字符原题URL:https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof/题目描述在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例示例 1:s = "abaccdeff"返回 "b"s = "" 返回 " "限制0 <= s 的长度 <= 50000思路1.散列表,用原创 2020-12-19 15:38:03 · 118 阅读 · 1 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No49.丑数
题号:剑指 Offer 49题目名:丑数原题URL:https://leetcode-cn.com/problems/chou-shu-lcof/题目描述我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例示例 1:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。限制1 是丑数。n 不超过1690。思路1.多指针+动态规划2.可以看到原创 2020-12-19 15:25:32 · 118 阅读 · 2 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No48.最长不含重复字符的子字符串
题号:剑指 Offer 48题目名:最长不含重复字符的子字符串原题URL:https://leetcode-cn.com/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/题目描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 1:输入: "pwwke原创 2020-12-19 15:01:35 · 225 阅读 · 1 评论 -
[算法练习及思路-leetcode剑指offer(Java解法)]No47.礼物的最大价值
题号:剑指 Offer 47题目名:礼物的最大价值原题URL:https://leetcode-cn.com/problems/li-wu-de-zui-da-jie-zhi-lcof/题目描述在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例示例 1:输入: [ [1,3,1], [1,原创 2020-12-19 11:23:21 · 128 阅读 · 1 评论