最近刷题记录太多,字符串又是华为笔试非常爱考的知识点,设计字符串的读入、存取、字符的判断、比较、去重、排序等操作。根据华为近几年笔试中出现的题目,依次剖析每道题目的思想和算法实现。
注:题目的编号对应牛客网《华为机试》中的题目编号
目录
HJ2.写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
HJ4.计算字符个数:连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
HJ5写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )
HJ10.编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
HJ11.数字颠倒:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
HJ12.字符串反转:写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
HJ13.句子逆序:将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
HJ.20密码验证合格程序.密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度大于2的子串重复
HJ23.实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。