#华为od# 机试 4月28
题一:给你遗传未加密的字符串str,通过对字符串的每一个字母进行改变实现加密,,加密方式是在每一个字母str[i]偏移特定的数组元素a[i]的量,数组a前三位已经赋值:a[o]=1,a[1]=2,a[2]=4。当 i>=3时,数组元素a[i] = a[i-1] + a[i-2] + a[i-3],例如原文 abcde 加密后 bdgkr ,其中偏移量分别是 1,2,4,7,13
输入描述:第一行为一个整数n ( 1<=n<=1000), 表示有n组测试数据,每组数据包含一行,原文str(只含有小写字母,0<长度<=50)
测试:
1
xy
输出
ya
ca:95%
考点:
1. 字母是循环的,y过了是a
2. 数组元素a[i]的值有可能会越界(int),所以需要处理
题二:给出一个仅仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序输出各个字母及其出现次数,如果次数相同,按照自然顺序进行排序,且小写字母在大写字母之前。
输入描述:
输入一行,为一个仅包含字母的字符串
ca: 90%
题三:
给定一个含有N个正整数的数组,求出有多少个连续区间(包括单个正整数),它们的和大于x
输入描述
第一行两个整数(N x)(0 < N <= 100000, 0<=x<=10000000)
第二行输入有N个正整数(每个正整数小于等于100)
测试用例
3 7
3 4 7
输出
4
ca: 76%
剩下案例提示计算超时
解题思路:
把输入的N个 正整数 存入数组
遍历数组,双指针i,j
第一次:i = 0, j = 0;和为3 ,3小于7,继续
i = 0, j = 1;和为3+4 ,3+4等于7,停止(因为后面的数为正整数,他们加上前面的和始终大于7), 计算有多少种, n-j种 = 3-1=2种
第二次:i = 1, j = 1;和为4 ,4小于7,继续
i = 1, j = 2;和为4+7 ,4+7大于7,停止, n-j种 = 3-2=1种
第二次:i = 2, j = 2;和为7 ,7等于7,停止,n-j种 = 3-2=1种
所以 2 + 1 + 1 = 4
目前正在准备一面,希望好运!
题一:给你遗传未加密的字符串str,通过对字符串的每一个字母进行改变实现加密,,加密方式是在每一个字母str[i]偏移特定的数组元素a[i]的量,数组a前三位已经赋值:a[o]=1,a[1]=2,a[2]=4。当 i>=3时,数组元素a[i] = a[i-1] + a[i-2] + a[i-3],例如原文 abcde 加密后 bdgkr ,其中偏移量分别是 1,2,4,7,13
输入描述:第一行为一个整数n ( 1<=n<=1000), 表示有n组测试数据,每组数据包含一行,原文str(只含有小写字母,0<长度<=50)
测试:
1
xy
输出
ya
ca:95%
考点:
1. 字母是循环的,y过了是a
2. 数组元素a[i]的值有可能会越界(int),所以需要处理
题二:给出一个仅仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序输出各个字母及其出现次数,如果次数相同,按照自然顺序进行排序,且小写字母在大写字母之前。
输入描述:
输入一行,为一个仅包含字母的字符串
ca: 90%
题三:
给定一个含有N个正整数的数组,求出有多少个连续区间(包括单个正整数),它们的和大于x
输入描述
第一行两个整数(N x)(0 < N <= 100000, 0<=x<=10000000)
第二行输入有N个正整数(每个正整数小于等于100)
测试用例
3 7
3 4 7
输出
4
ca: 76%
剩下案例提示计算超时
解题思路:
把输入的N个 正整数 存入数组
遍历数组,双指针i,j
第一次:i = 0, j = 0;和为3 ,3小于7,继续
i = 0, j = 1;和为3+4 ,3+4等于7,停止(因为后面的数为正整数,他们加上前面的和始终大于7), 计算有多少种, n-j种 = 3-1=2种
第二次:i = 1, j = 1;和为4 ,4小于7,继续
i = 1, j = 2;和为4+7 ,4+7大于7,停止, n-j种 = 3-2=1种
第二次:i = 2, j = 2;和为7 ,7等于7,停止,n-j种 = 3-2=1种
所以 2 + 1 + 1 = 4
目前正在准备一面,希望好运!
全部评论
相关推荐
今天 12:18
南京邮电大学 硬件开发 点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享