攒一波RP:
1、找公共字符串
// var str_1 = read_line();
// var str_2 = read_line();
// var str_3 = read_line();
// var str_1 = "flower";
// var str_2 = "flow";
// var str_3 = "flight";
var n = read_line();
n = Number(n);
var str = [];
var str_c;
while(n--){
str_c = read_line();
str.push(str_c);
}
var sum = "";
if(str.length === 1){
console.log(str[0]);
} else {
var lenArray = [];
for(var i=0;i<str.length;i++){
lenArray.push(str[i].length);
}
var flag_1 = 1;
for(var i=0;i<Math.min.apply(null, lenArray);i++){
var flag = 1;
for(var j=1;j<str.length;j++){
if(str[j][i] === str[j-1][i]){
continue;
}
else {
flag = 0;
break;
}
}
if(flag){
sum += str[j-1][i];
} else {
flag_1 = 0;
if(sum === ""){
print("empty");
}else {
print(sum);
}
//console.log(sum);
break;
}
}
if(flag_1){
print(sum);
//console.log(sum);
}
}
// if(str[0]===str_2[0] && str_2[0]===str_3[0]){
// sum += str_1[0];
// len = Math.min(str_1.length,str_2.length,str_3.length);
// for(var i=1;i<len;i++){
// if(str_1[i]===str_2[i] && str_2[i]===str_3[i]){
// sum += str_1[i];
// } else {
// //console.log(sum);
// print(sum);
// break;
// }
// }
// if(i === len){
// // console.log(sum);
// print(sum);
// }
// } else {
// //console.log("empty");
// print(sum);
// }
别问我为什么这么长,问就是看错题了。。。
2、递推:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <math.h>
#include <stack>
#include <string.h>
#include <map>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
if(n == 0)
{
printf("1\n");
}
else if(n == 1)
{
printf("1\n");
}
else if(n == 2)
{
printf("2\n");
}
else
{
long long a[1000001];
a[1] = 1;
a[2] = 2;
for(int i=3;i<=n;i++)
{
a[i] = a[i-1] + a[i-2];
}
printf("%lld\n", a[n]);
}
return 0;
}
没想到long long
可以水过去,我还以为要开大数模拟呢
PS:SF 2020-09-14 前端