你是否想要掌握人工智能的最新技术和应用?你是否想要成为未来社会的创新者和领导者?你是否想要和全球的优秀导师和同学一起学习和交流?如果你的答案是肯定的,那么欢迎来到床长人工智能教程网站,这里是你实现梦想的起点!
个人名片:
🐼作者简介:一名大一在校生 🐻❄️个人主页:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:零基础学java ----- 重识c语言 🐓每日一句:路是自己选的,没有输赢,只有值不值得
- 写在前面:
- 题目:AB1 【模板】栈✨
- 描述✨
- 输入描述✨:
- 输出描述✨:
- 示例1✨
- 题解代码✨:
- 题目:NC65 斐波那契数列🎉
- 描述🎉
- 输入描述🎉:
- 返回值描述🎉:
- 示例🎉:
- 解题代码🎉:
请你实现一个栈。 操作: push x:将 加x\x 入栈,保证 x\x 为 int 型整数。 pop:输出栈顶,并让栈顶出栈 top:输出栈顶,栈顶不出栈
输入描述✨:第一行为一个正整数 n\n ,代表操作次数。(1 \leq n \leq 100000)(1≤n≤100000) 接下来的 n\n ,每行为一个字符串,代表一个操作。保证操作是题目描述中三种中的一种。
输出描述✨:如果操作为push,则不输出任何东西。 如果为另外两种,若栈为空,则输出 "error“ 否则按对应操作输出。
示例1✨输入: 6 push 1 pop top push 2 push 3 pop 复制 输出: 1 error 3
题解代码✨:#include
#include
#define MAX 100000
typedef struct Stack{
int a[MAX];
int topp;
}*LStack;
void inistack(LStack s){
s->topp=0;
}
void push(LStack s,int x){
s->a[s->topp]=x;
s->topp++;
}
int pop(LStack s){
if(s->topp==0){
return -1;
}
return s->a[--s->topp];
}
int top(LStack s){
if(s->topp==0){
return -1;
}
int num=s->a[--s->topp];
s->topp++;
return num;
}
int main(){
LStack s=(LStack)malloc(sizeof(struct Stack));
inistack(s);
int n=0;
scanf("%d",&n);
while(n--){
char *str=(char*)malloc(6*sizeof(char));
scanf("%s",str);
if(!strcmp(str,"push")){
int num=0;
scanf("%d",&num);
push(s,num);
}
if(!strcmp(str,"pop")){
int num1=pop(s);
if(num1==-1){
printf("error\n");
continue;
}
printf("%d\n",num1);
}
if(!strcmp(str,"top")){
int num2=top(s);
if(num2==-1){
printf("error\n");
continue;
}
printf("%d\n",num2);
}
}
return 0;
}
题目:NC65 斐波那契数列🎉
描述🎉
大家都知道斐波那契数列,现在要求输入一个正整数 n ,请你输出斐波那契数列的第 n 项。 斐波那契数列是一个满足 fib(x)=\left{ \begin{array}{rcl} 1 & {x=1,2}\ fib(x-1)+fib(x-2) &{x>2}\ \end{array} \right.fib(x)={ 1 fib(x−1)+fib(x−2)
x=1,2 x>2 的数列 数据范围:1\leq n\leq 401≤n≤40 要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n) ,本题也有时间复杂度 O(logn)O(logn) 的解法
输入描述🎉:一个正整数n
返回值描述🎉:输出一个正整数。
示例🎉:输入:4 返回值:3 说明: 根据斐波那契数列的定义可知,fib(1)=1,fib(2)=1,fib(3)=fib(3-1)+fib(3-2)=2,fib(4)=fib(4-1)+fib(4-2)=3,所以答案为3。
示例2 输入:1 返回值:1
示例3 输入:2 返回值:1
解题代码🎉:/**
*
* @param n int整型
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int Fibonacci(int n ) {
// write code here
int a[50];
a[1]=1,a[2]=1;
for(int i=3;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?