![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
daydayup
WeSiGJ
毕业于东莞理工学院,拥有4年的工作经验。C/C++/Python开发,嵌入式开发,Linux开发,ROS机器人操作系统开发,SLAM算法开发,手写数字识别图像处理
展开
-
【LeetCode】旋转图像
系列文章目录文章目录系列文章目录前言一、旋转图像二、使用步骤解法一:先延反对角线对称,再上下翻转解法二:总结前言一、旋转图像给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]示例 2:输入转载 2021-04-01 21:00:05 · 274 阅读 · 0 评论 -
【LeetCode】有效的数独
系列文章目录文章目录系列文章目录前言一、有效的数独二、使用步骤用数组做记录 数据量小用桶方法位运算判断是否重复总结前言一、有效的数独判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 ‘.’ 表示。示例 1:输入:[ ["5",转载 2021-04-01 20:20:53 · 103 阅读 · 0 评论 -
【LeetCode】两数之和
系列文章目录文章目录系列文章目录前言一、两数之和二、使用步骤方法一:暴力枚举法,效率低解法二:哈希表方法三:双指针法java总结前言一、两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解原创 2021-04-01 11:05:54 · 60 阅读 · 0 评论 -
【LeetCode】移动零
系列文章目录文章目录系列文章目录前言一、移动零二、使用步骤方法一:不为0的提取到前面来方法二:双指针法总结前言一、移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。相关标签数组双指针作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbo原创 2021-04-01 10:41:19 · 141 阅读 · 0 评论 -
剑指 Offer 19. 正则表达式匹配
系列文章目录文章目录系列文章目录前言一、剑指 Offer 19. 正则表达式匹配二、使用步骤1.引入库总结前言一、剑指 Offer 19. 正则表达式匹配请实现一个函数用来匹配包含’. ‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。示例 1:输入:s = "aa"p =原创 2021-03-31 23:52:05 · 64 阅读 · 0 评论 -
剑指 Offer 20. 表示数值的字符串
文章目录前言一、剑指 Offer 20. 表示数值的字符串二、使用步骤1.引入库2.读入数据总结前言一、剑指 Offer 20. 表示数值的字符串请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、"-1E-16"、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、"±5"及"12e+5.4"都不是。二、使用步骤1.引入库代码如下(示例):import numpy as npimp..原创 2021-03-31 23:51:45 · 36 阅读 · 0 评论 -
【LeetCode】加一
系列文章目录文章目录系列文章目录前言一、加一二、使用步骤总结前言一、加一给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321原创 2021-03-31 23:49:28 · 66 阅读 · 0 评论 -
【LeetCode】两个数组的交集 II
系列文章目录文章目录系列文章目录前言一、两个数组的交集 II二、使用步骤方法一:先排序后双指针比较方法二:使用map解决总结前言一、两个数组的交集 II给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值原创 2021-03-31 23:13:47 · 114 阅读 · 0 评论 -
【LeetCode】只出现一次的数字 1 位运算 哈希表
系列文章目录文章目录系列文章目录前言一、只出现一次的数字二、使用步骤解法一:位运算解法二:哈希表总结前言一、只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4相关标签位运算哈希表作者:力扣 (LeetCode)链接:https:原创 2021-03-31 17:28:22 · 100 阅读 · 0 评论 -
【LeetCode】存在重复元素
系列文章目录文章目录系列文章目录前言一、存在重复元素二、使用步骤总结前言一、存在重复元素给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true相关标签数组哈希表作者:力扣 (Lee转载 2021-03-31 16:09:48 · 143 阅读 · 0 评论 -
【LeetCode】旋转数组
系列文章目录文章目录系列文章目录前言一、旋转数组二、使用步骤方法一:自己手打的,可惜超时了大神的解法总结前言一、旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1原创 2021-03-31 15:52:33 · 143 阅读 · 0 评论 -
【LeetCode】买卖股票的最佳时机 II
系列文章目录文章目录系列文章目录前言一、买卖股票的最佳时机 II二、使用步骤解法一解法二总结前言一、买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格转载 2021-03-31 10:44:09 · 86 阅读 · 0 评论 -
【LeetCode】删除排序数组中的重复项
系列文章目录文章目录系列文章目录前言一、删除排序数组中的重复项二、使用步骤自己实现的方法提交结果总结前言一、删除排序数组中的重复项给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。转载 2021-03-30 23:53:21 · 891 阅读 · 0 评论 -
剑指 Offer 51. 数组中的逆序对
系列文章目录文章目录系列文章目录前言一、剑指 Offer 51. 数组中的逆序对二、使用步骤暴力破解法,但是超时了分治思想,反正看不懂 QAQ总结前言一、剑指 Offer 51. 数组中的逆序对在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000作者:Krahets链接:https://leetcod原创 2021-03-23 23:27:35 · 43 阅读 · 0 评论 -
剑指 Offer 33. 二叉搜索树的后序遍历序列
系列文章目录文章目录系列文章目录前言一、剑指 Offer 33. 二叉搜索树的后序遍历序列二、使用步骤方法一:递归分治方法二:辅助单调栈总结前言一、剑指 Offer 33. 二叉搜索树的后序遍历序列输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3示例 1:输入: [1,6,3,2,原创 2021-03-23 22:59:57 · 72 阅读 · 0 评论 -
剑指 Offer 07. 重建二叉树
系列文章目录文章目录系列文章目录前言一、剑指 Offer 07. 重建二叉树二、使用步骤总结前言一、剑指 Offer 07. 重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:转载 2021-03-23 22:35:20 · 60 阅读 · 0 评论 -
剑指 Offer 16. 数值的整数次方
系列文章目录文章目录系列文章目录前言一、剑指 Offer 16. 数值的整数次方二、使用步骤总结前言一、剑指 Offer 16. 数值的整数次方实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。示例 1:输入:x = 2.00000, n = 10输出:1024.00000示例 2:输入:x = 2.10000, n = 3输出:9.26100示例 3:输入:x = 2.00000, n = -2输出:原创 2021-03-22 22:11:18 · 79 阅读 · 0 评论 -
剑指 Offer 46. 把数字翻译成字符串
系列文章目录文章目录系列文章目录前言一、剑指 Offer 46. 把数字翻译成字符串二、使用步骤1.引入库方法一:字符串遍历方法二:数字求余总结前言一、剑指 Offer 46. 把数字翻译成字符串给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 1225转载 2021-03-22 16:50:33 · 71 阅读 · 0 评论 -
剑指 Offer 48. 最长不含重复字符的子字符串
系列文章目录文章目录系列文章目录前言一、剑指 Offer 48. 最长不含重复字符的子字符串二、使用步骤1.引入库总结前言一、剑指 Offer 48. 最长不含重复字符的子字符串请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为转载 2021-03-21 22:51:15 · 120 阅读 · 0 评论 -
剑指 Offer 31. 栈的压入、弹出序列
系列文章目录文章目录系列文章目录前言一、剑指 Offer 31. 栈的压入、弹出序列二、使用步骤1.引入库总结前言一、剑指 Offer 31. 栈的压入、弹出序列输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed =转载 2021-03-20 17:11:03 · 75 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
系列文章目录文章目录系列文章目录前言一、剑指 Offer 03. 数组中重复的数字二、使用步骤1.引入库方法一:哈希表 / Set方法二:原地交换总结前言一、剑指 Offer 03. 数组中重复的数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或转载 2021-03-19 16:55:41 · 51 阅读 · 0 评论 -
剑指 Offer 61. 扑克牌中的顺子
系列文章目录文章目录系列文章目录前言一、剑指 Offer 61. 扑克牌中的顺子二、使用步骤1.引入库方法一: 集合 Set + 遍历方法二:排序 + 遍历总结前言一、剑指 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,转载 2021-03-19 16:27:43 · 47 阅读 · 0 评论 -
剑指 Offer 10- II. 青蛙跳台阶问题
系列文章目录文章目录系列文章目录前言一、剑指 Offer 10- II. 青蛙跳台阶问题二、使用步骤1.引入库总结前言一、剑指 Offer 10- II. 青蛙跳台阶问题一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输原创 2021-03-20 23:10:40 · 47 阅读 · 0 评论 -
剑指 Offer 10- I. 斐波那契数列
系列文章目录文章目录系列文章目录前言一、剑指 Offer 10- I. 斐波那契数列二、使用步骤1.引入库总结前言一、剑指 Offer 10- I. 斐波那契数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需原创 2021-03-20 21:46:22 · 47 阅读 · 0 评论 -
剑指 Offer 53 - II. 0~n-1 中缺失的数字
系列文章目录文章目录系列文章目录前言一、剑指 Offer 53 - II. 0~n-1 中缺失的数字二、使用步骤1.引入库总结前言一、剑指 Offer 53 - II. 0~n-1 中缺失的数字一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8限制:原创 2021-03-20 16:38:24 · 56 阅读 · 0 评论 -
剑指 Offer 53 - I. 在排序数组中查找数字 I
系列文章目录文章目录系列文章目录前言一、剑指 Offer 53 - I. 在排序数组中查找数字 I二、使用步骤1.引入库自己码出来的笨方法总结前言一、剑指 Offer 53 - I. 在排序数组中查找数字 I统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <原创 2021-03-20 15:38:24 · 60 阅读 · 0 评论 -
剑指 Offer 50. 第一个只出现一次的字符
系列文章目录文章目录系列文章目录前言一、剑指 Offer 50. 第一个只出现一次的字符二、使用步骤1.引入库哈希表有序哈希表总结前言一、剑指 Offer 50. 第一个只出现一次的字符在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = "abaccdeff"返回 "b"s = "" 返回 " " 限制:0 <= s 的长度 <= 50000相关标签哈希表二、使用步骤1.引入库代码如下:原创 2021-03-19 23:16:16 · 83 阅读 · 0 评论 -
剑指 Offer 11. 旋转数组的最小数字
系列文章目录文章目录系列文章目录前言一、剑指 Offer 11. 旋转数组的最小数字二、使用步骤1.引入库取巧法寻找算法——大名鼎鼎的二分法总结前言一、剑指 Offer 11. 旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入原创 2021-03-19 22:49:33 · 59 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
系列文章目录文章目录系列文章目录前言一、剑指 Offer 04. 二维数组中的查找二、使用步骤1.引入库总结前言一、剑指 Offer 04. 二维数组中的查找剑指 Offer 04. 二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15],原创 2021-03-19 22:33:24 · 65 阅读 · 0 评论 -
剑指 Offer 45. 把数组排成最小的数
系列文章目录文章目录系列文章目录前言一、剑指 Offer 45. 把数组排成最小的数二、使用步骤1.引入库总结前言一、剑指 Offer 45. 把数组排成最小的数输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: "102"示例 2:输入: [3,30,34,5,9]输出: "3033459"提示:0 < nums.length <= 100说明:输出结果可能非常大,所原创 2021-03-19 09:44:54 · 84 阅读 · 0 评论 -
剑指 Offer 17. 打印从 1 到最大的 n 位数
系列文章目录文章目录系列文章目录前言一、剑指 Offer 17. 打印从 1 到最大的 n 位数二、使用步骤1.引入库总结前言一、剑指 Offer 17. 打印从 1 到最大的 n 位数输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]说明:用返回一个整数列表来代替打印n 为正整数二、使用步骤1.引入库代码如下:原创 2021-03-18 17:32:14 · 115 阅读 · 0 评论 -
剑指 Offer 41. 数据流中的中位数
系列文章目录文章目录系列文章目录前言一、剑指 Offer 41. 数据流中的中位数二、使用步骤1.引入库总结前言一、剑指 Offer 41. 数据流中的中位数如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:vo原创 2021-03-18 23:10:10 · 61 阅读 · 0 评论 -
剑指 Offer 40. 最小的 k 个数
系列文章目录文章目录系列文章目录前言一、剑指 Offer 40. 最小的 k 个数二、使用步骤1.引入库解法一 暴力破解法 冒泡排序 可惜超过时间限制解法二 快速排序法方法三: 基于快速排序的数组划分总结前言一、剑指 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]原创 2021-03-18 16:20:05 · 105 阅读 · 0 评论 -
剑指 Offer 65. 不用加减乘除做加法
系列文章目录文章目录系列文章目录前言一、剑指 Offer 65. 不用加减乘除做加法二、使用步骤1.引入库总结前言一、剑指 Offer 65. 不用加减乘除做加法写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2提示:a, b 均可能是负数或 0结果不会溢出 32 位整数二、使用步骤1.引入库代码如下:class Solution {public: int原创 2021-03-18 13:44:50 · 49 阅读 · 0 评论 -
剑指 Offer 56 - II. 数组中数字出现的次数 II
系列文章目录文章目录系列文章目录前言一、剑指 Offer 56 - II. 数组中数字出现的次数 II二、使用步骤1.引入库解法一 神奇解法解法二总结前言一、剑指 Offer 56 - II. 数组中数字出现的次数 II在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1限制:1 <= num原创 2021-03-17 23:03:48 · 65 阅读 · 1 评论 -
剑指 Offer 56 - I. 数组中数字出现的次数
系列文章目录文章目录系列文章目录前言一、剑指 Offer 56 - I. 数组中数字出现的次数二、使用步骤1.引入库学到很有意思的一行代码总结前言一、剑指 Offer 56 - I. 数组中数字出现的次数一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10原创 2021-03-17 22:49:51 · 55 阅读 · 0 评论 -
剑指 Offer 15. 二进制中 1 的个数
系列文章目录文章目录系列文章目录前言一、剑指 Offer 15. 二进制中 1 的个数二、使用步骤1.引入库总结前言一、剑指 Offer 15. 二进制中 1 的个数请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 0000000000000原创 2021-03-17 16:53:15 · 135 阅读 · 0 评论 -
剑指 Offer 29. 顺时针打印矩阵
系列文章目录文章目录系列文章目录前言一、剑指 Offer 29. 顺时针打印矩阵二、使用步骤1.引入库方法一:普通解法方法二:神仙解法总结前言一、剑指 Offer 29. 顺时针打印矩阵输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]原创 2021-03-17 15:27:25 · 60 阅读 · 0 评论 -
剑指 Offer 67. 把字符串转换成整数
系列文章目录文章目录系列文章目录前言一、剑指 Offer 67. 把字符串转换成整数二、使用步骤1.引入库总结前言一、剑指 Offer 67. 把字符串转换成整数写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则原创 2021-03-17 13:40:51 · 53 阅读 · 0 评论 -
剑指 Offer 59 - II. 队列的最大值
文章目录前言一、剑指 Offer 59 - II. 队列的最大值二、解决方法1.引入库方法一总结前言一、剑指 Offer 59 - II. 队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入: ["MaxQueue","push_back","push_back","ma..原创 2021-03-17 10:27:21 · 49 阅读 · 0 评论