摘要: 力扣136题 只出现一次的数字 采用异或的方法 class Solution { public: int singleNumber(vector<int>& nums) { int x = 0; for(int num:nums){ //1.遍历 numx执行异或运算 x ^= num; } ret 阅读全文
posted @ 2025-09-24 18:27 往事携冷风 阅读(9) 评论(0) 推荐(0)
摘要: 解题过程: 1.两个栈,一个正常栈,一个记录最小值的栈 2.为了方便,最小栈stk2预先压入INT_MAX 3.push的时候,stk1正常压入,stk2根据自己的栈顶和val压入较小值 4.pop和top正常pop和top 5.getMin返回tk2的栈顶 6.空间复杂度,维护记录最小值的栈需要O 阅读全文
posted @ 2025-09-24 15:26 往事携冷风 阅读(7) 评论(0) 推荐(0)
摘要: 力扣239题 滑动窗口最大值 设计单调队列的时候,pop和push操作要保持如下规则: 1.pop(value):如果窗口移除的元素value等于单调队列的出口元素,那么队列弹出元素,否则不用任何操作 2.push(value):如果push的元素value大于入口元素的数值,那么就将队列入口的元素 阅读全文
posted @ 2025-09-24 15:08 往事携冷风 阅读(3) 评论(0) 推荐(0)
摘要: 动态规划 1.奇数中1的个数,是它上一个数1个个数+1,如2(10),3(11),4(100),5(101) 2.偶数中1的个数,是它除以2后的那个数的1的个数,如2(10),4(100),8(1000),6(110),12(1100) 3.因此,dp[i]=i&1?dp[i-1]+1:dp[i>> 阅读全文
posted @ 2025-09-24 14:21 往事携冷风 阅读(7) 评论(0) 推荐(0)