题目:字符串四则运算的实现 有字符串表示的一个四则运算表达式,要求计算出该表达式的正确数值.四则运算即:加减乘除"+-*/",另外该表达式中的数字只能是1位(数值范围0~9),运算不用括号.另若有不能整除的情况,按向下取整处理,eg: 8/3得出值为2. 举例:字符串"8+7*2-9/3",计算出其值为19. 考点:数字的字符形式变换为数字形式的方法. 分析:输入的值是字符形式的,输出的值是整型的,解决这个问题的关键就是将数字和运算符号的字符型转化成整型运算.在网上…
面试题35:第一个只出现一次的字符 题目:在一个字符串中找到第一个只出现一次的字符.如输入abaccdeff,则输出b.(2006年google的一道笔试题.) 分析: 首先应向确认一下是ASCII字符串,而不是Unicode字符串.用hash表求解即可,由于需要先遍历一次,时间复杂度为O(n),空间复杂度为O(1) (256个ASCII字符). 满足题意的代码如下: #include<cstdio> #include<string> #include<unordered_m…
题目:转换字符串 题目介绍: 将输入字符串中下标为偶数的字符连成一个新的字符串输出,需要注意两点: 1. 如果输入字符串的长度超过20,则转换失败,返回“ERROR!”字符串: 2. 输入字符串只能由0-9数字,小写a-z和大写A-Z组成,如果包含其他字符,则转换失败,返回“ERROR!”字符串. 例: 输入: abcd1234 输出: ac13 分析:这道题相对来说比较简单,用char字符串类型实现即可. 代码: #include <iostream> #include <string…
题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组: 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入 连续输入字符串(输入两次,每个字符长长度小于100)输出 输出到长度为8,的新字符串数组样例输入 abc 123456789样例输出 abc00000 12345678 90000000 思路: 都是直接处理,没有具体的方法而言 注意点: 华为的OJ平台的输入输出有点坑,好多次的程序都在这里出问题,在Eclipse上运行的结果没问题,然后在OJ上就是编…
题目:括号匹配 题目来源:https://blog.csdn.net/lizi_stdio/article/details/76618908 题目介绍:输入一个字符串,里面可能包含“()”.“ [  ] ”." {  } "三种括号,要求程序判断这个字符串里的括号是否成对出现且嵌套关系正确,若成对出现且嵌套关系正确,或字符串中无括号出现时,输出True:否则输出False.无需考虑非法输入. 例: 输入: (1+4)/[(2+3)*4] 输出: True 分析:这个问题考察的其实是栈的…
题目描述: 在计算机中,通配符一种特殊语法,广泛应用于文件搜索.数据库.正则表达式等领域.现要求各位实现字符串通配符的算法.要求:实现如下2个通配符: *:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写.下同)(不包含. , 等特殊字符) ?:匹配1个字符 输入 通配符表达式: 一组字符串. 输出 返回匹配的结果,正确输出true,错误输出false 思路: 分三种情况: (1)无通配符的情况:对应的字符要完全相等,否则匹配失败,输出false (2)通配符为?的情况:对应的…
字符串合并处理 按照指定规则对输入的字符串进行处理. 详细描述: 将输入的两个字符串合并. 对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序.这里的下标意思是字符在字符串中的位置. 对排训后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符.如字符为‘4’,为0100b,则翻转后为0010b,也就是2.转换后的字符为‘2’: 如字符为‘7’,为0111b…
题目描述 1.对输入的字符串进行加解密,并输出. 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B:字母Z时则替换为a: 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0: 其他字符不做变化. 3.解密方法为加密的逆过程. 接口描述: 实现接口,每个接口实现1个基本操作: void Encrypt (char aucPassword[], char aucResult[]):在该函数中实现字符串加密并输出 说明: 1.字符串以…
Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的password进行通信,比方像这些ABBA.ABA,A,123321,可是他们有时会在開始或结束时增加一些无关的字符以防止别国破解.比方进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 .由于截获的串太长了,并且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他仅仅能向电脑高手求助,你能帮Catcher找出最长的有效…
有几个需要注意的地方,这个问题是不是大写和小写之间的区别.这样你就输入字符串大写或小写转换的计算前. 第二个,定要清晰.先将s1从[i]处開始与s2的[j]開始匹配,不相等则j++直到j等于s2.length()-1.相等,则i++,j++. 注意,这里就是i++,即下次又一次開始从s[i]開始匹配时,两次i之间的距离可能会超过1.再j那里设置一个计数器计数就可以. import java.util.Scanner; public class findMaxSubStringLength { p…
三道题目case:100,100,0: 三个题目: 前两个都全部ac了,第三题没时间: 记录一下大概的思路: 第一题 主要通过Java中的字符串处理函数:然后控制字符串输入格式: 卡bug的点: 1:首先录入:sc.next();习惯用sc.nextLine()导致总是数组越界卡: //以后多多使用next: 2:控制字符串的 输出:通过sustring()整理出来字符串字段: //调用系统函数处理比较方便: 可以多记住一下api 3:然后控制输出:字符串转换数组控制正反输出: or:也可以通过…
题目: 字符串分隔 热度指数:6139 时间限制:1秒 空间限制:32768K 本题知识点: 字符串 题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组 输入例子: abc 123456789 输出例子: abc00000 1234…
题目: 字符串反转 热度指数:4940 时间限制:1秒 空间限制:32768K 本题知识点: 字符串 题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串.例如: 输入描述: 输入N个字符 输出描述: 输出该字符串反转后的字符串 输入例子: abcd 输出例子: dcba 在线提交网址: http://www.nowcoder.com/practice/e45e078701ab4e4cb49393ae30f1bb04?tpId=37&tqId=21235&rp=&…
题目: 字符串最后一个单词的长度 热度指数:9697 时间限制:1秒 空间限制:32768K 本题知识点: 字符串 题目描述 计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 输入例子: hello world 输出例子: 5 在线提交网址: http://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da?tpId=37&tqId=2122…
有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙.下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS.如果单词中包含有重复的字母,只保留第1个,其余几个丢弃.现在,修改过的那个单词属于字母表的下面,如下所示: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z T R A I L B Z E S C D F G H J K M N O P Q U V W X Y 上面其他用字母表中剩余的字母填充完整.在对信息进行…
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串. package test; import java.util.Scanner; public class exam04 { public static void main(String[] arg) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { String str = scanner.next(); System.out.printl…
#include <stdio.h> #include <string.h> int firstSingle(char *str) { int hash[128]={0}; for(int i = 0 ;str[i];i++) { hash[str[i]]++; } int cnt = 0; for(int i = 0;i < 128;i++) { if(hash[i]!=0) { cnt++; } } return cnt; } int main(void) { char…
题目:平安果 题目介绍:给出一个m*n的格子,每个格子里有一定数量的平安果,现在要求从左上角顶点(1,1)出发,每次走一格并拿走那一格的所有平安果,且只能向下或向右前进,最终到达右下角顶点(m,n),要求求出能拿走的平安果的最大数值. 输入:第一行有两个数值m,n,然后是m行n列数值. 输出:一个数值代表平安果的最大数量. 例: 输入: 4 4 1 2 4 8 10 14 3 9 17 6 7 20 12 5 21 23 输出: 89 分析:这是一种比较典型的dp算法(动态规划)的题目,每一格获…
题目介绍:现在输入一组数据,写入学生的考试分数.已知学生数为N,学生编号为1到N,且0<N<=30000,每个学生都有一个分数:操作数为M且0<M<5000.输入第一行为N M,接下来是1行N列数据代表学生的初试分数,接下来是M行操作数据.已知操作有两种,分为Q和U.一次操作的格式为 C A B,当C=Q时输出A到B(包括A和B)的学生最高分,当C=U时将ID为A的学生的分数写入为B. 例: 输入: 5 7 1 2 3 4 5 Q 1 5 U 3 6 Q 3 4 Q 4 5 U 4…
题目:int型数字位排序 题目介绍:输入int 型整数,按照从右至左的顺序,返回不含重复数字的新整数. 例: 输入: 99824270 输出: 072489 分析:乍一看很简单,但是很容易忽略int 型包含负整数的这一情况,还有为了应对多组测试数据需要在输入中加入while 循环. 代码: #include <iostream> #include <string> using namespace std; int main() { string str; int size; , j…
题目:特定位数比较 题目介绍:输入两行数据,第一行为 m 个正整数,以空格隔开:第二行为正整数 n ,且 n<= m:要求对第一行的数字的后三位大小进行排序,输出排行 n 的数字,其中,若不满三位数则直接比较:若两数字比较结果相等则两数相对位置不变:排序时位置从1开始. 例: 输入: 12 450 9001 5231 8231 7231 5 输出: 7231 分析:因为输入中并没有正整数 m 即输入正整数的个数,因此我们需要先解决“输入一行数字,以空格间隔,以回车结尾,存储在数组里”的问题,这个…
题目:2-62进制转换 题目介绍:输入一个n1 进制的整数(包括负数),将其转换成n2 进制,其中n1 .n2 的范围是 [ 2,62 ] .每个数字的范围是0-9.a-z.A-Z.不用考虑非法输入. 输入: n1 n2 n1 进制整数 输出: n2 进制整数 例: 输入: 8 16 -1352460 输出: -5d530 分析: 这道题目需要考虑几点:负整数的输入:将输入的n1 进制的数转换成10 进制的数,再用长除法将这个10 进制的数转换成 n2 进制的数:a-z和A-Z与其代表的整数的相…
题目:消重输出 题目介绍: 输入一个正整数,给出消除重复数字以后最大的整数,注意需要考虑长整数. 例: 输入:988274320 输出:9874320 题目分析:这个结果的实现需要两个步骤:消重和排序.第一步,消重.先用string 和char 将数字分别储存进char 数组,然后从左边第一个字符开始逐个向右边比较,如果有相同的字符就将左边的置换成 ‘a’ ,这样多次次循环过后988274320就变成了9a8a74320,因为是向右比较且只变换左边字符,因此a 不会重复.第二步,排序.就是循环比…
#include <iostream> #include <stdlib.h> #include <string> #include <sstream> #include <vector> using namespace std; int main() { string s; getline(cin, s); for (auto it = s.begin(); it != s.end(); it++) { if (!isalpha(*it)) (…
华为机试 字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开. 提交网址: http://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da?tpId=37&tqId=21224 参与人数:2504  时间限制:1秒 空间限制:32768K 本题知识点: 字符串 输入描述: 一行字符串. 输出描述: 整数N,最后一个单词的长度. 输入例子: hello world 输出例子: 5 AC代码(C语言风格): 文件…
①华为笔试题搜集 1.static有什么用途?(请至少说明两种)     1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.     2) 在模块内(但在函数体外),一个被声明为静态的变量能够被模块内所用函数訪问,但不能被模块外其他函数訪问.它是一个本地的全局变量.     3) 在模块内,一个被声明为静态的函数仅仅可被这一模块内的其他函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用与指针有什么差别?     1) 引用必须被初始化,指针不必.  …
在17年校招中3道题目AC却无缘华为面试,大概是华为和东华互不待见吧!分享一道华为笔试原题,共同进步! *************************************************************************************************************************************************************************** 题目描述: LISP语言唯一的语法就是括号要匹配.形…
现在是5月11号,刚从北京到家,总算也可以歇歇了,最近一段时间真是忙于奔命的感觉,也确实体会到了找工作的艰辛,总而言之,求职之路,如人饮水,冷暖自知. 我想把这段时间找工作的体验和经历分享出来告诉大家,让大避免以后少走弯路,也希望大家可以从我的面经中汲取一些经验教训,毕竟这也是我一步步走的坑了,这期间我面试了几乎中国互联网大多数公司,我面试的岗位主要是研发岗相关(涉及后台服务端研发,大数据研发,基础平台研发,测试开发),所以如果是研发岗的小伙伴应该可以得到一些经验教训吧. 在这过程中,我一共拿到…
转载出处 刚从北京到家,总算也可以歇歇了,最近一段时间真是忙于奔命的感觉,也确实体会到了找工作的艰辛,总而言之,求职之路,如人饮水,冷暖自知. 我想把这段时间找工作的体验和经历分享出来告诉大家,让大避免以后少走弯路,也希望大家可以从我的面经中汲取一些经验教训,毕竟这也是我一步步走的坑了,这期间我面试了几乎中国互联网大多数公司,我面试的岗位主要是研发岗相关(涉及后台服务端研发,大数据研发,基础平台研发,测试开发),所以如果是研发岗的小伙伴应该可以得到一些经验教训吧. 在这过程中,我一共拿到了7个o…
本文转载至: http://blog.csdn.net/v_july_v/article/details/6543438 算法 程序员面试.算法研究.编程艺术.红黑树.数据挖掘5大经典原创系列集锦与总结 (七月算法问答社区:http://ask.julyedu.com/) 作者:July--结构之法算法之道blog之博主.时间:2010年10月-2014年12月.出处:http://blog.csdn.net/v_JULY_v .声明:版权所有,侵犯必究. 前言    开博4年有余,回首这4年,…