leetcode刷题记录
hardworkpluto
这个作者很懒,什么都没留下…
展开
-
Leetcode_有效三角形的个数
一、使用暴力解法,三层for循环,时间复杂度O(n^3)二、使用双指针,单调性,先排序,时间复杂度O(n^2)原创 2024-04-15 09:21:26 · 111 阅读 · 1 评论 -
LeetCode_复写零_双指针
思路:创建一个vector容器dest,容器大小和arr一样,原创 2024-04-09 22:37:27 · 105 阅读 · 0 评论 -
LeetCode_移动零
题解:利用双指针,从前往后遍历,如果nums[i]为0则往后走,否则nums[i]!=0那么让dest++后交换nums[i]和nums[dest]的值。原创 2024-04-05 09:53:30 · 157 阅读 · 1 评论 -
LeetCode刷题
逆波兰表达式,也就是后缀表达式,就是将操作符都放到最后例如1+2*3 的逆波兰表达式就是 1 2 3 + *原创 2024-03-23 15:21:28 · 251 阅读 · 1 评论 -
刷题_栈的压入、弹出序列
【代码】刷题_栈的压入、弹出序列。原创 2024-03-23 14:40:58 · 133 阅读 · 1 评论 -
LeetCode155.最小栈
思路:利用两个栈,一个是存储所有元素的栈st,另一个是入栈到st的元素为最小时存储的栈minst,push()中当第一次入栈时或者每入一个元素就判断如果minst的栈顶元素>=要入栈的元素,则将该元素入栈到minst。pop()当st的栈顶和minst栈顶相等时就弹出minst的栈顶元素,否则只弹出st的栈顶元素。原创 2024-03-23 11:43:02 · 138 阅读 · 0 评论 -
Leetcode只出现一次的数字
但是这里是三次的所以异或的思路不行,把nums中的数转为二进制,用一个32位的数组存储nums中的元素的各个位,3的倍数,说明每个人应该是3n或者3n+1,3n是因为每个数字都是出现三次,3n+1则是出现一次的元素占得位数,因此利用位运算符&,对nums的每个数字中的各个位进行存储到数组中,然后判断如果是3n+1则与val的对应位置为1,最后得到只出现一次的数字。思路用位运算,如果是在都出现两次的元素中找出现一次的数字用异或,1、只出现一次的数字。原创 2024-03-21 17:47:52 · 123 阅读 · 0 评论