g4560做网站服务器网络舆情的应对及处理
news/
2025/10/1 11:10:45/
文章来源:
g4560做网站服务器,网络舆情的应对及处理,出口外贸网站,nas做网站服务器用两个栈实现一个队列。队列的声明如下#xff0c;请实现它的两个函数 appendTail 和 deleteHead #xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素#xff0c;deleteHead 操作返回 -1 ) 示例 1#xff1a;
输入#xff1a; […用两个栈实现一个队列。队列的声明如下请实现它的两个函数 appendTail 和 deleteHead 分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素deleteHead 操作返回 -1 ) 示例 1
输入 [CQueue,appendTail,deleteHead,deleteHead] [[],[3],[],[]] 输出[null,null,3,-1] 示例 2
输入 [CQueue,deleteHead,appendTail,appendTail,deleteHead,deleteHead] [[],[],[5],[2],[],[]] 输出[null,-1,null,null,5,2] 提示
1 values 10000 最多会对 appendTail、deleteHead 进行 10000 次调用 思路辅助栈弹出操作之前当栈2为空时将栈1的元素全部倒入栈2然后弹出栈2顶。
class CQueue {StackInteger stack1;StackInteger stack2;public CQueue() {stack1 new StackInteger();stack2 new StackInteger();}public void appendTail(int value) {stack1.push(value);}public int deleteHead() {if(stack2.empty()){while (!stack1.isEmpty()) {stack2.push(stack1.pop());}}if(stack2.empty()){return -1;}return stack2.pop();}
}/*** Your CQueue object will be instantiated and called as such:* CQueue obj new CQueue();* obj.appendTail(value);* int param_2 obj.deleteHead();*/ 写一个函数输入 n 求斐波那契Fibonacci数列的第 n 项。斐波那契数列的定义如下
F(0) 0, F(1) 1 F(N) F(N - 1) F(N - 2), 其中 N 1. 斐波那契数列由 0 和 1 开始之后的斐波那契数就是由之前的两数相加而得出。
答案需要取模 1e971000000007如计算初始结果为1000000008请返回 1。 示例 1
输入n 2 输出1 示例 2
输入n 5 输出5
提示
0 n 100
思路按照式子优化空间用几个变量即可。
class Solution {public int fib(int n) {int a 0, b 1, sum;for(int i 0; i n; i){sum (a b) % 1000000007;a b;b sum;}return a;}
} 一只青蛙一次可以跳上1级台阶也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e971000000007如计算初始结果为1000000008请返回 1。
示例 1
输入n 2 输出2 示例 2
输入n 7 输出21 提示
0 n 100
式子和上题一样。
class Solution {public int numWays(int n) {int a 1, b 1, sum;for(int i 0; i n; i){sum (a b) % 1000000007;a b;b sum;}return a;}
} 把一个数组最开始的若干个元素搬到数组的末尾我们称之为数组的旋转。输入一个递增排序的数组的一个旋转输出旋转数组的最小元素。例如数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转该数组的最小值为1。
示例 1
输入[3,4,5,1,2] 输出1 示例 2
输入[2,2,2,0,1] 输出0
思路二分注意和右端点比不要左端点。
灵魂是如何操作相等情况。
class Solution {public int minArray(int[] numbers) {int i 0, j numbers.length - 1;while (i j) {int mid (i j) / 2;if (numbers[mid] numbers[j]) i mid 1;else if (numbers[mid] numbers[j]) j mid;//这一句是细节灵魂所在else j--;}return numbers[i];}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923781.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!