![](https://img-blog.csdnimg.cn/5d76bb22facc4bb7821a757cd02a6737.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode
leetcode题目讲解
獜洛橙
不按常规办事,喜欢各种trick
(最近不在)
展开
-
LeetCode后缀表达式转中缀求值(逆波兰C++)
中缀转逆波兰表达式,主要是利用栈,浏览表达式,从左往右提取放入栈中,遇到运算符,分别提取栈的两个栈顶元素,第一个为num1,第二个为num2,因为逆波兰表达式考虑计算是从右往左进行运算符计算,所以运算是(num2[运算符]num1)。输入:tokens = ["10","6","9","3","+","-11","*","/","*","17","+","5","+"]输入:tokens = ["4","13","5","/","+"]输入:tokens = ["2","1","+","3","*"]原创 2022-12-18 12:51:22 · 366 阅读 · 1 评论 -
约束性统计星号‘*’
根据问题描述,可以理解为两个'|'之间的*不要统计,也即当'|'为偶数个的时候,才需要去统计*个数。解释:需要考虑的字符加粗加斜体后:"yo|uar|e**|b|e***au|tifu|l"。换言之,第一个和第二个 '|' 为一对,第三个和第四个 '|' 为一对,以此类推。解释:不在竖线对之间的字符加粗加斜体后,得到字符串:"l|*e*et|c**o|*de|"。输入:s = "yo|uar|e**|b|e***au|tifu|l"输入:s = "l|*e*et|c**o|*de|"...原创 2022-08-08 16:50:49 · 1692 阅读 · 0 评论 -
迭代+递归解决反转单链表问题
迭代+递归解决反转单链表问题原创 2022-08-01 11:26:53 · 260 阅读 · 0 评论 -
二进制表示--2的幂
2的幂是比较特殊的,转为二进制只有一位为1,那么与减一的本身去相与,结果肯定是为0,所以判断的条件就是n&(n-1)==0。给你一个整数n,请你判断该整数是否是2的幂次方。如果是,返回true;否则,返回false。链接https//leetcode.cn/problems/power-of-two。如果存在一个整数x使得n==2x,则认为n是2的幂次方。商业转载请联系官方授权,非商业转载请注明出处。来源力扣(LeetCode)解释24=16。...原创 2022-07-25 15:07:58 · 722 阅读 · 0 评论 -
试除法--3的幂
从问题分析可知,要判断是3的幂的数,也就是不可能是负数和零,肯定是正数,那么用不断地用n模除3判断是否等于0的方法,就可以判断出n是否是3的幂,而最终的条件就是,如果该数是3的幂,最后肯定结果是1%3==0不成立,从而退出循环,而此时n==1,那么只要返回n==1,问题就迎刃而解。给定一个整数,写一个函数来判断它是否是3的幂次方。链接https//leetcode.cn/problems/power-of-three。整数n是3的幂次方需满足存在整数x使得n==3^x。...原创 2022-07-25 12:35:10 · 163 阅读 · 0 评论 -
位运算解决只出现一次的数字
题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4题解:由题可知题目所给的案例很特殊,除了一个出现一次的元素外,其余的元素都是成对出现,使用位运算中的异或运算,已知异或两个相同的数,结果为0,两两异或消除相同元素,最后异或的结果就是唯一出.原创 2022-04-19 21:53:25 · 114 阅读 · 0 评论 -
滚动窗口求解子数组最大平均数问题
题目描述给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。 请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。 任何误差小于 10-5 的答案都将被视为正确答案。示例 1:输入:nums = [1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75示例 2:输入:nums = [5], k = 1输出:5.00000题解:题目给定每次只能求四个数的一原创 2022-04-14 19:30:34 · 336 阅读 · 0 评论 -
c++ STL(unordered_set容器) 解决重复数量统计
题目描述:国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,比如: 'a' 对应 ".-" , 'b' 对应 "-..." , 'c' 对应 "-.-." ,以此类推。 为了方便,所有 26 个英文字母的摩尔斯密码表如下: [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...",".原创 2022-04-10 18:41:50 · 1687 阅读 · 0 评论 -
快速幂&递归解决Pow(x,n)问题
题目描述:实现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输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25PS:-100.0 < x < 100.0-2^31 <= n <= 2...原创 2022-01-16 17:29:23 · 771 阅读 · 0 评论 -
动态规划解决爬楼梯问题
题目描述:假设你正在爬楼梯。需要 n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?PS:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶题解:这道题采用动态规划主要是因为这是第一...原创 2021-12-25 22:26:36 · 735 阅读 · 0 评论 -
二分法解决Sqrt(x)问题
题目描述:给你一个非负整数 x ,计算并返回x的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。提示:0 <= x <= 2^31 - 1题解:根据...原创 2021-12-13 12:00:42 · 841 阅读 · 0 评论 -
c++STL容器--回文数问题
题目描述:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 .原创 2021-12-11 22:18:19 · 749 阅读 · 0 评论