没得公司可以做网站嘛,建设网站公司那里好相关的热搜问题,陕西网站开发价格,详情页设计英文翻译注#xff1a;本系列题目全是按照通过率降序来排列的#xff0c;基本保证题目难度递增。 6、
题目名称#xff1a;Fibonacci数列
来源#xff1a;网易
题目描述
Fibonacci数列是这样定义的#xff1a; F[0] 0 F[1] 1 for each i ≥ 2: F[i] F[i-1] F[i-2] 因此本系列题目全是按照通过率降序来排列的基本保证题目难度递增。 6、
题目名称Fibonacci数列
来源网易
题目描述
Fibonacci数列是这样定义的 F[0] 0 F[1] 1 for each i ≥ 2: F[i] F[i-1] F[i-2] 因此Fibonacci数列就形如0, 1, 1, 2, 3, 5, 8, 13, ...在Fibonacci数列中的数我们称为Fibonacci数。给你一个N你想让其变为一个Fibonacci数每一步你可以把当前数字X变为X-1或者X1现在给你一个数N求最少需要多少步可以变为Fibonacci数。
输入描述:
输入为一个正整数N(1 ≤ N ≤ 1,000,000)
输出描述:
输出一个最小的步数变为Fibonacci数
示例1
输入
15
输出
2
分析我们不断生成斐波那契数列生成到比输入大了以后比较这一个数和前一个数就好。
def ojbk(n):x0y1while 1:if yn: return min(y-n, n-x)x,yy,xy
print(ojbk(input()))
7、
题目名称数字反转
来源网易
题目描述
对于一个整数X定义操作rev(X)为将X按数位翻转过来并且去除掉前导0。例如: 如果 X 123则rev(X) 321; 如果 X 100则rev(X) 1. 现在给出整数x和y,要求rev(rev(x) rev(y))为多少
输入描述:
输入为一行x、y(1 ≤ x、y ≤ 1000)以空格隔开。
输出描述:
输出rev(rev(x) rev(y))的值
示例1
输入
123 100输出
223
分析直接按题意写出来函数模拟即可。
python字符串法
L(input().split( ))
aL[0]
bL[1]
def rev(x):qint(x[::-1])return q
cstr(rev(a)rev(b))
print(str(rev(c)))
简化
a input().split()
print(str(int(a[0][::-1]) int(a[1][::-1]))[::-1].lstrip(0))
c实现高效逆置
#includeiostream
using namespace std;
int rev(int m)
{int t0;while(m0){tt*10m%10;mm/10;}return t;
}int main()
{
int x,y;while(cinxy){coutrev(rev(x) rev(y))endl;}return 0;
} 8、
题目名称下厨房
来源网易
题目描述
牛牛想尝试一些新的料理每个料理需要一些不同的材料问完成所有的料理需要准备多少种不同的材料。
输入描述:
每个输入包含 1 个测试用例。每个测试用例的第 i 行表示完成第 i 件料理需要哪些材料各个材料用空格隔开输入只包含大写英文字母和空格输入文件不超过 50 行每一行不超过 50 个字符。
输出描述:
输出一行一个数字表示完成所有料理需要多少种不同的材料。
示例1
输入
BUTTER FLOUR
HONEY FLOUR EGG
输出
4
分析就是没有出现过的就放到一个容器里高效查找。
python
ll[]//存东西
while 1:try:l(input().split())for i in range(len(l)):if l[i] in ll://没有就放进去continueelse:ll.append(l[i])except:print(len(ll))break
c set
#include iostream
#include set
#include string
using namespace std;
int main() {string str;setstring datas;while (cin str) {datas.insert(str);}cout datas.size() endl;return 0;
} 9、
题目名称n个数里出现次数大于等于n/2的数
来源好未来
题目描述
输入n个整数输出出现次数大于等于数组长度一半的数。
输入描述:
每个测试输入包含 n个空格分割的n个整数n不超过100其中有一个整数出现次数大于等于n/2。
输出描述:
输出出现次数大于等于n/2的数。
示例1
输入
3 9 3 2 5 6 7 3 2 3 3 3
输出
3
分析你就算暴力也是可以的
l(input().split())
for i in l://遍历每一个数a0for j in l://查找if ij:a1if alen(l)/2-1:print(i)break
当然动态规划思想会很高效我这里放一个链接第一题就是
https://blog.csdn.net/hebtu666/article/details/81390118感兴趣的看一看 10、
题目名称小易喜欢的单词
来源网易
题目描述
小易喜欢的单词具有以下特性 1.单词每个字母都是大写字母 2.单词没有连续相等的字母 3.单词没有形如“xyxy”(这里的xy指的都是字母并且可以相同)这样的子序列子序列可能不连续。 例如 小易不喜欢ABBA因为这里有两个连续的B 小易不喜欢THETXH因为这里包含子序列THTH 小易不喜欢ABACADA因为这里包含子序列AAAA 小易喜欢A,ABA和ABCBA这些单词 给你一个单词你要回答小易是否会喜欢这个单词只要不是不喜欢就是喜欢。
输入描述:
输入为一个字符串都由大写字母组成长度小于100
输出描述:
如果小易喜欢输出Likes,不喜欢输出Dislikes
示例1
输入
AAA
输出
Dislikes 分析题意i容易理解操作挺麻烦的根据题意实现功能就好。
看代码注释
ainput()
q0
v0
for i in a://遍历判断条件if i.islower():print(Dislikes)q1//后面就不会执行了break
for j in range(len(a)-1)://遍历判断条件if q1:breakelif a[j]a[j1]:print(Dislikes)q1//后面就不会执行了
for z in range(len(a)-3)://遍历判断条件if q1:breakfor x in range(1,len(a)):if a[z]a[x]://找到相同的for g in range(z1,x)://相同的之间for h in range(x1,len(a))://之后if a[h]a[g]://相同也就是ABAB型print(Dislikes)v1breakif v1:break
if q0://执行到这里就是likeprint(Likes)
找来的c不是我写的
#include stdio.h
#include string.hint FindDislike(char *s,int length);
int FindForward(char *s,int x,int y,int length);int main(){char s[101];int like1;scanf(%s,s);int lenstrlen(s); //先完成有没有连续的数for(int i0;ilen-1;i){if(len2){like1;}else if(s[i]s[i1]){like0;break;}}///if(like1 len1)likeFindDislike(s,len);if(like1)printf(Likes,s);elseprintf(Dislikes);return 0;
}int FindDislike(char *s,int length){int like1;for(int i0;ilength;i){for(int j1;jlength;j){if(s[i]s[j]) {likeFindForward(s,i,j,length);if(like0){ return 0;}} }}return 1;
}int FindForward(char *s,int x,int y,int length){if(ylength-1)return 1;for(int ix1;iy;i){for(int jy1;jlength;j){if(s[i]s[j])return 0;}}return 1;
}