标题本篇博文主要是记录下自己的在线编程情况,初次练习,有的算法还待改进,大家有需要可以去牛客网上面多练练!
有需戳–>牛客网在线编程
NC65、题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)
n≤39
示例1:
输入:4
返回值:3
class Solution {
public:
int Fibonacci(int n) {
if(n==0||n==1)
{
return n;
}
else
{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
};
NC103、题目描述
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
示例1:
输入"abcd"
返回值"dcba"
解题分析:我主要是通过对str倒序循环,把要倒序的字符串倒着赋值给另一个
字符串result,最后返回result。
class Solution {
public:
string solve(string str) {
string result="";
for(int i=str.length()-1;i>=0;i--)
{
result+=str[i];
}
return result;
}
};
NC107、题目描述
山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组nums,任意两个相邻元素值不相等,数组可能包含多个
山峰。找到索引最大的那个山峰元素并返回其索引。
假设 nums[-1] = nums[n] = -∞。
示例1:
输入:[2,4,1,2,7,8,4]
返回值:5
解题分析:题目是找索引值最大的峰值元素的索引,从后往前更好,找到直接返回即可,
但要注意处理首尾元素。
class Solution {
public:
int solve(int* a, int aLen) {
<