4399 笔试编程题
1.对于一个长度为 n 字符串(字符串中包括大写英文字母、小写英文字母、空格),我们需要对它做一些变形。首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把这个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。比如"Hello World"变形后就变成了"wORLD hELLO"。
输入:This is a sample返回值:SAMPLE A IS tHIS
输入: A good Game返回值: gAME GOOD a
2.产品经理小逸在繁忙的工作之余,想要找一种娱乐方式放松一下,于是他选择了国粹麻将。但是不同地区的不同游戏规则对他来说太过复杂,本着“适应不了规则就去修改规则”的心态,他自行发明了一种玩法规则,只留下一种花色,并且去除了一些特殊和牌的方式(例如七小对、十三幺等),新的规则如下:总共有36张牌,每张牌是1~9。每个数字4张牌。你手里有其中的14张牌,如果这14张牌满足如下条件,即算作和牌14张牌中有2张相同数字的牌,称为雀头。除去上述2张牌,剩下12张牌可以组成4个顺子或刻子。顺子的意思是递增的连续3个数字牌(例如234,567等),刻子的意思是相同数字的3个数字牌(例如111,777)例如:1 1 1 2 2 2 6 6 6 7 7 7 9 9 可以组成1,2,6,7的4个刻子和9的雀头,可以和牌1 1 1 1 2 2 3 3 5 6 7 7 8 9 用1做雀头,组123,123,567,789的四个顺子,可以和牌1 1 1 2 2 2 3 3 3 5 6 7 7 9 无论用1 2 3 7哪个做雀头,都无法组成和牌的条件。
小逸从36张牌中抽取了13张手牌,他想知道在剩下的23张牌中,再取一张牌,取到哪几种数字牌可以和牌。
输入描述:输入只有一行,包含13个数字,用空格分隔,每个数字在1~9之间,数据保证同种数字最多出现4次。
输出描述:输出同样是一行,包含1个或以上的数字。代表他再取到哪些牌可以和牌。若满足条件的有多种牌,请按从小到大的顺序输出。若没有满足条件的牌,请输出一个数字0
输入示例:1 1 1 2 2 2 5 5 5 6 6 6 9输出示例:9输入示例:1 1 1 1 2 2 3 3 5 6 7 8 9输出示例:4 7输入示例:1 1 1 2 2 2 3 3 3 5 7 7 9输出示例:0
3.给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:1.子数组大小至少为 22.子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。
如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。0 始终视为 k 的一个倍数。
示例 1:输入:nums = [23,2,4,6,7], k = 6输出:true解释:[2,4] 是一个大小为 2 的子数组,并且和为 6 。
示例 2:输入:nums = [23,2,6,4,7], k = 6输出:true解释:[23, 2, 6, 4, 7] 是大小为 5 的子数组,并且和为 42 。 42 是 6 的倍数,因为 42 = 7 * 6 且 7 是一个整数。
示例 3:输入:nums = [23,2,6,4,7], k = 13输出:false
提示:1 <= nums.length <= 1050 <= nums[i] <= 1090 <= sum(nums[i]) <= 231 - 11 <= k <= 231 - 1
#4399信息集散地#