华为OD笔试题
题目一
一棋子在坐标原点,输入长度为4的倍数的字符串S1,只包含W,A,S,D四种字符,分别对应向上,左,下,右走一步。若走完字符串序列以后,回到原点,则是完美字符串,输出0。否则输出一个数n,使得长度为n的字符串替代S中的某个子串,使得他变成完美字符串,且n要尽可能的小。
示例1:ASWD 输出0
示例2:AWDD 输出1(将最后一个或者倒数第二个D换成S)
示例3:AAAA 输出3(换了以后ASDW) 当时的疑惑:为什么不能是AADD
leetcode题目
https://leetcode.cn/problems/replace-the-substring-for-balanced-string/
有没有人做到过这题呢?当时卡在这题很久,没做出来,可能曲解了题目的意思。
题目二
给出两个字符串S1,S2,找出S2的任意字符排列连续出现在S1的次数。
示例:qwessdewq qwe
输出:2 (因为开始的qwe和末尾的ewq都是S2字符的组合)
题目三
买短信条数,给出预算,以及一个数组,下标从1开始,代表价格为 i 的短信可以发多少条,求出预算内最多可发短信数量
示例 6
10 20 30 40 60
输出:70
分析:预算为6块,花1块可以发10条短信,2块发20条,3块30条,4块40条,5块60条。总共花费(5+1块)发(60+10=70)条短信。
#华为OD##华为机试##2022届毕业生现状#