2017年校招全國統一模擬筆試(第五場)程式設計題集合
偶串 (AC)
如果一個字串由兩個相同字串連線而成,就稱這個字串是偶串。例如"xyzxyz"和"aaaaaa"是偶串,但是"ababab"和"xyzxy"卻不是。
牛牛現在給你一個只包含小寫字母的偶串s,你可以從字串s的末尾刪除1和或者多個字元,保證刪除之後的字串還是一個偶串,牛牛想知道刪除之後得到最長偶串長度是多少。
輸入描述:
輸入包括一個字串s,字串長度length(2 ≤ length ≤ 200),保證s是一個偶串且由小寫字母構成
輸出描述:
輸出一個整數,表示刪除之後能得到的最長偶串長度是多少。保證測試資料有非零解
輸入例子1:
abaababaab
輸出例子1:
6
var readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line) {
var str = line.trim();
str = strWithoutLast(str);
while(str.length){
if(str.length & 1 === 1){
str = strWithoutLast(str);
}
if(isEvenStr(str)){
console.log(str.length);
break;
} else {
str = strWithoutLast(str);
}
}
function isEvenStr(str){
var len = str.length;
var left = str.slice(0, len / 2);
var right = str.slice(len / 2, len);
return left === right;
}
function strWithoutLast(str){
var len = str.length;
return str.slice(0, len - 1);
}
});
製造迴文 (AC)
牛牛有一些字母卡片,每張卡片上都有一個小寫字母,所有卡片組成一個字串s。牛牛一直認為迴文這種性質十分優雅,於是牛牛希望用這些卡片拼湊出一些迴文串,但是有以下要求:
1、每張卡片只能使用一次
2、要求構成的迴文串的數量最少
牛牛想知道用這些字母卡片,最少能拼湊出多少個迴文串。
例如: s = "abbaa",輸出1,因為最少可以拼湊出"ababa"這一個迴文串
s = "abc", 輸出3,因為最少只能拼湊出"a","b","c"這三個迴文串
輸入描述:
輸入包括一行,一個字串s,字串s長度length(1 ≤ length ≤ 1000).
s中每個字元都是小寫字母
輸出描述:
輸出一個整數,即最少的迴文串個數。
輸入例子1:
abc
輸出例子1:
3
var readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line) {
var alpha = 26;
var strArr = line.trim().split('');
var arr = [];
var odd = 0;
while(alpha){arr.push(0); alpha--;}
for(var i = 0, len = strArr.length; i < len; i++){
var index = strArr[i].charCodeAt(0) - 97;
arr[index]++;
}
arr.forEach(function(item){
if(item & 1 === 1){
odd++;
}
});
console.log(odd);
});
猜數 (Memory out)
牛牛和羊羊在玩一個有趣的猜數遊戲。在這個遊戲中,牛牛玩家選擇一個正整數,羊羊根據已給的提示猜這個數字。第i個提示是"Y"或者"N",表示牛牛選擇的數是否是i的倍數。
例如,如果提示是"YYNYY",它表示這個數使1,2,4,5的倍數,但不是3的倍數。
注意到一些提示會出現錯誤。例如: 提示"NYYY"是錯誤的,因為所有的整數都是1的倍數,所以起始元素肯定不會是"N"。此外,例如"YNNY"的提示也是錯誤的,因為結果不可能是4的倍數但不是2的倍數。
現在給出一個整數n,表示已給的提示的長度。請計算出長度為n的合法的提示的個數。
例如 n = 5:
合法的提示有:
YNNNN YNNNY YNYNN YNYNY YYNNN YYNNY
YYNYN YYNYY YYYNN YYYNY YYYYN YYYYY
所以輸出12
輸入描述:
輸入包括一個整數n(1 ≤ n ≤ 10^6),表示已給提示的長度。
輸出描述:
輸出一個整數,表示合法的提示個數。因為答案可能會很大,所以輸出對於1000000007的模
輸入例子1:
5
輸出例子1:
12
var readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line) {
var mod = 1000000007;
var ans = 1;
var n = parseInt(line.trim());
var vis = [];
debugger;
for(var i = 2; i <= n; i++){
if(vis[i]) continue;
for(var j = 2 * i; j <= n; j += i){
vis[j] = 1;
}
var tmp = n;
var cnt = 0;
while(tmp >= i){
tmp /= i;
cnt++;
}
ans = ans * (cnt + 1) % mod;
}
console.log(ans);
});
DNA
DNA片段
時間限制:1秒
空間限制:32768K
牛牛從生物科研工作者那裡獲得一段字串資料s,牛牛需要幫助科研工作者從中找出最長的DNA序列。DNA序列指的是序列中只包括'A','T','C','G'。牛牛覺得這個問題太簡單了,就把問題交給你來解決。
例如: s = "ABCBOATER"中包含最長的DNA片段是"AT",所以最長的長度是2。
輸入描述:
輸入包括一個字串s,字串長度length(1 ≤ length ≤ 50),字串中只包括大寫字母('A'~'Z')。
輸出描述:
輸出一個整數,表示最長的DNA片段
輸入例子1:
ABCBOATER
輸出例子1:
2
var readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line) {
var str = line.trim();
var len = line.match(/[ATCG]*/g).reduce(function(a, b){
return a < b.length ? b.length : a;
}, 0);
console.log(len);
});
彩色瓷磚
牛牛喜歡彩色的東西,尤其是彩色的瓷磚。牛牛的房間內鋪有L塊正方形瓷磚。每塊磚的顏色有四種可能:紅、綠、藍、黃。給定一個字串S, 如果S的第i個字元是'R', 'G', 'B'或'Y',那麼第i塊瓷磚的顏色就分別是紅、綠、藍或者黃。
牛牛決定換掉一些瓷磚的顏色,使得相鄰兩塊瓷磚的顏色均不相同。請幫牛牛計算他最少需要換掉的瓷磚數量。
輸入描述:
輸入包括一行,一個字串S,字串長度length(1 ≤ length ≤ 10),字串中每個字串都是'R', 'G', 'B'或者'Y'。
輸出描述:
輸出一個整數,表示牛牛最少需要換掉的瓷磚數量
輸入例子1:
RRRRRR
輸出例子1:
3
var readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line) {
var str = line.trim();
var arr = str.match(/([RGBY])\1+/g);
var num = 0;
if(arr){
num = arr.reduce(function(a, b){
return Math.floor(b.length / 2) + a;
}, 0);
}
console.log(num);
});
相關文章
- 【程式設計測試題】頭條校招程式設計
- (網易2018校招筆試)[程式設計題] 魔法幣筆試程式設計
- (網易2018校招筆試)[程式設計題] 相反數筆試程式設計
- (網易2018校招筆試)[程式設計題] 字串碎片筆試程式設計字串
- 程式設計師校招筆試經驗小分享程式設計師筆試
- EMC校招筆試題目筆試
- (網易2018校招筆試)[程式設計題] 遊歷魔法王國筆試程式設計
- 小美的樹上染色(美團2024屆秋招筆試第一場程式設計真題)筆試程式設計
- 1999年校招程式設計師的感慨程式設計師
- 筆試題目——程式設計題筆試程式設計
- 小紅書2020校招資料分析筆試題卷一[題目整理]筆試
- 百度2015校招機器學習筆試題機器學習筆試
- 美團點評2020校招系統開發方向筆試題筆試
- 2021年安全生產模擬考試(全國特種作業操作證電工作業-電氣試驗模擬考試題庫一)安考星
- 判斷ip地址是否合法(美團2024屆秋招筆試第三場程式設計真題)筆試程式設計
- 華為秋招筆試題筆試
- 2019《去哪兒》春季校招第一站(含筆試題)筆試
- 一個51程式設計和模擬——流水燈程式設計
- 2021年安全生產模擬考試(全國特種作業操作證電工作業-高壓電工模擬考試題庫一)
- 哈爾濱理工大學3-31校賽模擬賽第一場題解
- 精研3道簡單的網易2018校招程式設計題程式設計
- 京東2018校招程式設計題解答(Java)|掘金技術徵文程式設計Java
- 2017年秋招前端面試題(一)——-HTML前端面試題HTML
- 湘潭大學2018年上學期程式設計實踐模擬考試2 參考題解程式設計
- 湘潭大學2018年上學期程式設計實踐模擬考試3 參考題解程式設計
- 2018名企校招筆試真題精選技術篇筆試
- 網易2020校招資料分析方向提前批筆試題解析筆試
- 愛奇藝校招面試題面試題
- 亞馬遜書評——《程式碼本色:用程式設計模擬自然系統》亞馬遜程式設計
- 5601. 設計有序流 (場景模擬)
- 2021年安全生產模擬考試(全國特種作業操作證電工作業-電力電纜模擬考試題庫二)安考星
- Java程式設計師的筆試題10道Java程式設計師筆試
- 黑馬程式設計師java筆記之一-----Map集合程式設計師Java筆記
- 程式設計師進階之路之面試題與筆試題集錦(一)程式設計師面試題筆試
- 從一道春招筆試題說起 [上]筆試
- 2017年秋招美團Java程式設計師開發,看我如何拿到offerJava程式設計師
- 系統設計面試模擬 | 如何設計Netflix?面試
- 湘潭大學2018年軟體工程程式設計實踐第二次模擬考試題解軟體工程程式設計