
字符串
码奴生来就只知道前进
我的GitHub账号:www.github.com/Mrhuangyi
展开
-
151. 翻转字符串里的单词
给定一个字符串,逐个翻转字符串中的每个单词。示例:输入: "the sky is blue",输出: "blue is sky the".说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。进阶: 请选用C语言的用户尝试使用 O(1) 空间复杂度的原地解法。java解...原创 2018-11-19 11:15:04 · 688 阅读 · 0 评论 -
1048 数字加密(20)(20 分)
1048 数字加密(20)(20 分) 本题要求实现一种数字加密方法。首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12;对偶数位,用B的数字减去A的数字,若结果为负数,则再加10。这里令个位为第1位。输入格式:输入在一行中依次给出A和B,均为不超过100位的正整...原创 2018-06-09 12:01:52 · 866 阅读 · 0 评论 -
1017 A除以B (20)(20 分)
1017 A除以B (20)(20 分) 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入格式:输入在1行中依次给出A和B,中间以1空格分隔。输出格式:在1行中依次输出Q和R,中间以1空格分隔。输入样例:123456789050987654321 7 输出样例:176366841...原创 2018-06-01 10:23:02 · 2388 阅读 · 0 评论 -
L1-016 查验身份证(15 分)
1016 部分A+B (15)(15 分) 正整数A的“D~A~(为1位整数)部分”定义为由A中所有D~A~组成的新整数P~A~。例如:给定A = 3862767,D~A~ = 6,则A的“6部分”P~A~是66,因为A中有2个6。现给定A、D~A~、B、D~B~,请编写程序计算P~A~ + P~B~。输入格式:输入在一行中依次给出A、D~A~、B、D~B~,中间以空格分隔,其中0 ...原创 2018-06-01 10:21:08 · 1160 阅读 · 0 评论 -
1014 福尔摩斯的约会 (20)(20 分)
1014 福尔摩斯的约会 (20)(20 分) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2...原创 2018-05-31 16:58:30 · 4910 阅读 · 1 评论 -
389. 找不同
给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入: s = “abcd” t = “abcde”输出: e解释: ‘e’ 是那个被添加的字母。分析:可以求出两个字符串的ASCII总和的差值,而这个差值就对应着被添加的字母的ASCII数值。class S...原创 2018-06-14 14:17:39 · 443 阅读 · 0 评论 -
1057 数零壹(20)(20 分)
1057 数零壹(20)(20 分) 给定一串长度不超过10^5^的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0、多少1。例如给定字符串“PAT (Basic)”,其字母序号之和为:16+1+20+2+1+19+9+3=71,而71的二进制是1000111,即有3个0、4个1。输入格式:输入在...原创 2018-06-14 13:07:03 · 624 阅读 · 0 评论 -
1009 说反话 (20)(20 分)
1009 说反话 (20)(20 分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hel...原创 2018-05-31 14:15:24 · 371 阅读 · 0 评论 -
1044 火星数字(20)(20 分)
1044 火星数字(20)(20 分) 火星人是以13进制计数的:地球人的0被火星人称为tret。 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。 火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lo...原创 2018-06-06 14:36:01 · 942 阅读 · 0 评论 -
1043 输出PATest(20)(20 分)
1043 输出PATest(20)(20 分) 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非...原创 2018-06-06 08:49:22 · 812 阅读 · 0 评论 -
1042 字符统计(20)(20 分)
1042 字符统计(20)(20 分) 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区...原创 2018-06-06 08:47:12 · 967 阅读 · 0 评论 -
1040 有几个PAT(25)(25 分)
1040 有几个PAT(25)(25 分) 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行,包含一个字符串,长度不超过10^5^,只包含P、A、T三种字母。输出格式:在一行中输出给定字符串中包含多少...原创 2018-06-05 15:09:25 · 303 阅读 · 0 评论 -
1021 个位数统计 (15)(15 分)
1021 个位数统计 (15)(15 分) 给定一个k位整数N = d~k-1~*10^k-1^ + … + d~1~*10^1^ + d~0~ (0<=d~i~<=9, i=0,…,k-1, d~k-1~>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入格式:每个输入包含1个测试用例,即一个不超过10...原创 2018-06-02 14:11:45 · 1238 阅读 · 0 评论 -
1024 科学计数法 (20)(20 分)
1024 科学计数法 (20)(20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]”.”[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入格式:每个输...原创 2018-06-02 14:17:13 · 2419 阅读 · 6 评论 -
290. 单词模式
给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。示例1:输入: pattern = “abba”, str = “dog cat cat dog” 输出: true 示例 2:输入:pattern = “abba”...原创 2018-06-17 17:41:07 · 752 阅读 · 0 评论 -
43. 字符串相乘
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num1 和 num2 只原创 2018-11-02 23:42:29 · 202 阅读 · 0 评论 -
227. 基本计算器 II
实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 5说明:你可以假设所给定的表达式都是有效的。请不要使用内置的库函数 eval。cla...原创 2018-09-24 17:59:46 · 590 阅读 · 0 评论 -
686. 重复叠加字符串匹配
给定两个字符串 A 和 B, 寻找重复叠加字符串A的最小次数,使得字符串B成为叠加后的字符串A的子串,如果不存在则返回 -1。举个例子,A = “abcd”,B = “cdabcdab”。答案为 3, 因为 A 重复叠加三遍后为 “abcdabcdabcd”,此时 B 是其子串;A 重复叠加两遍后为”abcdabcd”,B 并不是其子串。注意:A 与 B 字符串的长度在1和1000...原创 2018-08-21 16:01:11 · 487 阅读 · 0 评论 -
1082 Read Number in Chinese (25)(25 分)
1082 Read Number in Chinese (25)(25 分) Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese way. Output “Fu” first if it is negative. For example, -1234...原创 2018-07-22 12:19:09 · 508 阅读 · 0 评论 -
1077 Kuchiguse (20)(20 分)
1077 Kuchiguse (20)(20 分) The Japanese language is notorious for its sentence ending particles. Personal preference of such particles can be considered as a reflection of the speaker’s personality. S...原创 2018-07-22 11:59:58 · 689 阅读 · 0 评论 -
696. 计数二进制子串
给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: "00110011"输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它们出现的次数...原创 2018-07-20 22:58:05 · 402 阅读 · 0 评论 -
844. 比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S...原创 2018-07-13 16:26:43 · 338 阅读 · 0 评论 -
459. 重复的子字符串
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 “ab” 重复两次构成。 示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 ...原创 2018-07-09 14:43:29 · 484 阅读 · 2 评论 -
443. 压缩字符串
给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。进阶: 你能否仅使用O(1) 空间解决问题?示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个原创 2018-07-09 11:34:51 · 497 阅读 · 0 评论 -
1078 字符串压缩与解压(20 分)
1078 字符串压缩与解压(20 分) 文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。这...原创 2018-06-20 10:21:12 · 2056 阅读 · 0 评论 -
1039 到底买不买(20)(20 分)
1039 到底买不买(20)(20 分) 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那...原创 2018-06-05 15:07:26 · 785 阅读 · 0 评论 -
1003 我要通过!(20)(20 分)
1003 我要通过!(20)(20 分) “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;\任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或...原创 2018-05-29 15:38:17 · 963 阅读 · 2 评论 -
L2-008 最长对称子串(25 分)
L2-008 最长对称子串(25 分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定”Is PAT&TAP symmetric?”,最长对称子串为”s PAT&TAP s”,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symm...原创 2018-05-29 15:31:40 · 734 阅读 · 0 评论 -
L1-046 整除光棍(20 分)
L1-046 整除光棍(20 分) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然...原创 2018-05-25 17:10:51 · 3176 阅读 · 4 评论 -
L1-011 A-B(20 分)
L1-011 A-B(20 分) 本题要求你计算A-B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A-B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过10^4^,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A-B的结果字符串。输入样例...原创 2018-05-19 09:37:54 · 968 阅读 · 0 评论 -
L1-007 念数字(10 分)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“fu”字。十个数字对应的拼音如下:0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式:输入在一行中给出一个整数,如: 1234 。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字...原创 2018-05-19 09:19:18 · 2569 阅读 · 0 评论 -
LeetCode 58. 最后一个单词的长度
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: “Hello World” 输出: 5class Solution {public: int lengthOfLastWord(string s) { int le...原创 2018-05-18 12:03:26 · 288 阅读 · 0 评论 -
hdu2017新生赛
身份证验证Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0Problem Description大学时代的小Q,是一个志向远大的热血青年,欲致力于国原创 2017-11-25 18:33:47 · 524 阅读 · 0 评论 -
KMP模板记录字符串模式匹配
字符串匹配。给你两个字符串,寻找其中一个字符串是否包含另一个字符串,如果包含,返回包含的起始位置1、 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,其实相当于将整个模式串往后移了一位,依次比较下去,直到得出最后的匹配结果。2、KMP算...原创 2017-11-10 12:54:58 · 235 阅读 · 0 评论 -
LeetCode 5. 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: “babad” 输出: “bab” 注意: “aba”也是一个有效答案。 示例 2:输入: “cbbd” 输出: “bb”解决思路 1 —— 暴力枚举法暴力枚举法是这几种方法中最直观的求解, 求解过程中分别以每个元素为中间元素(奇数为最中间的一个数,偶数为中间元...原创 2018-05-15 16:22:44 · 260 阅读 · 0 评论 -
67. 二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1” 输出: “100” 示例 2:输入: a = “1010”, b = “1011” 输出: “10101”class Solution {public: string addBinary(string a, st...原创 2018-05-26 13:01:35 · 2162 阅读 · 0 评论 -
L1-050 倒数第N个字符串(15 分)
L1-050 倒数第N个字符串(15 分) 给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒...原创 2018-05-26 14:23:38 · 3186 阅读 · 0 评论 -
L1-039 古风排版(20 分)
L1-039 古风排版(20 分) 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)输入样例:4 This is a test...原创 2018-05-24 16:30:46 · 3020 阅读 · 5 评论 -
13. 罗马数字转整数
罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个...原创 2018-05-24 16:24:14 · 351 阅读 · 0 评论 -
1033 旧键盘打字(20)(20 分)
1033 旧键盘打字(20)(20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10^5^个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空...原创 2018-06-04 16:55:34 · 410 阅读 · 0 评论