- 博客(7)
- 收藏
- 关注
原创 剑指 Offer 09. 用两个栈实现队列 (c++)——003
今天力扣每日一题是猫和老鼠,没有到那个水平。所以找了一道简单的:题目链接题目样例解释(评论里面的,不是我自己写的):最开始的思路:栈和队列的区别是什么:栈只有一个口子——栈顶,而队列有两个——队首、队尾。添加元素时没有问题,栈添加到栈顶 即 队列添加到队尾。但是删除元素时,栈删除的是栈底,这时候就需要第二个栈:将第一个栈元素翻到第二个栈,当第一个栈空时:原本在第一个栈中的 1 2 3 4 5 ,就变成了第二个栈的 5 4 3 2 1;需要删除的元素即为 5 ,再将第二个栈翻回第一个栈,即完成
2022-01-04 23:27:49
336
原创 LeetCode390(c++)——001
LeetCode390(c++)思路代码参考了评论题目地址思路不管如何删除,都是一个等差数列:an = a1 +(n-1)*d;只要一个变量记录第一个等差数列第一个数,最后该变量也就是最后一个数。需要注意的是: 第奇数次操作 或者 删除数字时有奇数个数字,此时会删除第一个数字。代码 int lastRemaining(int n) { int ans=1; //记录第一个数,也是最后剩下的数 int d=1; //公差 int ti
2022-01-02 23:32:26
455
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人