String
文章平均质量分 92
konsy_dong
Java,C++,Python,linux
展开
-
《C和指针》——在一组字符串中查找
程序中value是要查找的字符,strings指向字符串列表程序1:#include <stdio.h>#define TRUE 1#define FALSE 0int find_char(char **strings, char value){//strings指向是一个字符串列表,类似于就是二维的字符数组 char *string; //当前正在查找的字符串 while ((原创 2017-03-30 11:29:09 · 790 阅读 · 0 评论 -
LeetCode 345. Reverse Vowels of a String
题目: Write a function that takes a string as input and reverse only the vowels of a string.Example 1: Given s = “hello”, return “holle”.Example 2: Given s = “leetcode”, return “leotcede”.Note: The v原创 2017-05-17 15:54:41 · 408 阅读 · 0 评论 -
华为机试——句子逆序
题目描述 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符输入描述: 将一个英文语句以单词为单位逆序排放。 输出描述: 得到逆序的句子 示例1输入I am a boy输出boy a am I思路:从后往前遍历,遇到空格就将这个词加到output末尾再加上空格,最后一原创 2017-07-29 20:48:30 · 433 阅读 · 0 评论 -
华为机试——字串的连接最长路径查找
题目描述给定n个字符串,请对n个字符串按照字典序排列。 输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。 输出描述: 数据输出n行,输出结果为按照字典序排列的字符串。 示例1输入:9captocatcardtwotooupboatboot输出:boatbootcapcardcat原创 2017-07-29 20:51:34 · 480 阅读 · 0 评论 -
华为机试——坐标移动
题目描述开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。输入:合法坐标为A(或者D或者W或者S) + 数字(两位以内)坐标之间以;分隔。非法坐标点需要进行丢弃。如AA10; A1A; %; YAD; 等。下面是一个简单的例子 如:A10;S20;W10;D30;X;原创 2017-07-30 12:09:58 · 648 阅读 · 0 评论 -
华为机试——简单密码
题目描述密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。他是这么变换的,大家都知道手机上原创 2017-07-30 15:14:04 · 777 阅读 · 0 评论 -
华为机试——字符串分隔
题目描述•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组示例1输入abc123456789输出abc000001234567890000000思路:分两种情况,s的长度大于8和小于等于8,大于原创 2017-07-22 18:13:43 · 671 阅读 · 0 评论 -
华为机试——进制转换
题目描述写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串。 输出描述: 输出该数值的十进制字符串。 示例1 输入0xA输出10思路:从第3个字符开始 ,判断其为0-9还是A-E两种情况,分别进行讨论;再用to_string()函数将int型转成string输出,具体思路见注释。代码:#include <io原创 2017-07-23 15:55:20 · 1280 阅读 · 0 评论 -
华为机试——字符个数统计
题目描述编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。 输入描述: 输入N个字符,字符在ACSII码范围内。 输出描述: 输出范围在(0~127)字符的个数。 示例1 输入abc输出3思路: 其实这题要求的是出现的字符的个数(重复的不包括),感觉说得不够清楚,具体思路见注释。代码:#include <iostream>usi原创 2017-07-26 20:44:38 · 515 阅读 · 0 评论 -
华为机试——数字颠倒
题目描述描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001输入描述: 输入一个int整数 输出描述: 将这个整数以字符串的形式逆序输出 示例1 输入1516000输出0006151思路:将input的值和10相除的余数利用to_string()转换成string加到res尾部,并且input除以原创 2017-07-26 21:43:27 · 414 阅读 · 0 评论 -
华为机试——字符串反转
题目描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如: 输入描述: 输入N个字符 输出描述: 输出该字符串反转后的字符串 示例1 输入abcd输出dcba思路:利用string 的 insert() 函数,将输入的字符插入到字符串的最前面 。代码:#include <iostream>#include <string>using namespace std;int原创 2017-07-26 22:00:05 · 516 阅读 · 0 评论 -
LeetCode 5. Longest Palindromic Substring
题目: Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example: Input: “babad” Output: “bab” Note: “aba” is also a valid answer.原创 2017-09-22 17:22:38 · 269 阅读 · 0 评论 -
LeetCode 657. Judge Route Circle
题目: Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot makes a circle, which means it moves back to the original place.The move sequence is represented原创 2017-10-07 14:42:56 · 270 阅读 · 0 评论 -
LeetCode 91. Decode Ways
题目: A message containing letters from A-Z is being encoded to numbers using the following mapping:'A' -> 1 'B' -> 2 ... 'Z' -> 26Given an encoded message containing digits, determine the total numb原创 2017-09-21 21:47:48 · 267 阅读 · 0 评论 -
动态规划——最长公共子序列问题(LCS)
最长公共子序列问题也就是如在两个不同的字符串中找出最长的公共子序列例:字符串x = "ABCBDAB"字符串y = "BDCABA" 可以看出他们的公共子序列是 BCBA,但是对于较长的字符串,肉眼很难去判断,如果用枚举,那么其算法复杂度为O(2m{2^m})就要寻找一种算法复杂度较低的算法 ,就是先比较字符串x和y各个字符已经有几个相同的情况,存在c中,空间复杂度和时间复杂度都为O(m*n)原创 2017-09-22 16:28:52 · 1450 阅读 · 1 评论 -
LeetCode 521. Longest Uncommon Subsequence I
题目: Given a group of two strings, you need to find the longest uncommon subsequence of this group of two strings. The longest uncommon subsequence is defined as the longest subsequence of one of these原创 2017-11-05 12:34:47 · 323 阅读 · 0 评论 -
LeetCode 788. Rotated Digits
题目: X is a good number if after rotating each digit individually by 180 degrees, we get a valid number that is different from X. Each digit must be rotated - we cannot choose to leave it alone.A n...原创 2018-03-26 15:36:30 · 255 阅读 · 0 评论 -
LeetCode 551. Student Attendance Record I
题目: You are given a string representing an attendance record for a student. The record only contains the following three characters:‘A’ : Absent. ‘L’ : Late. ‘P’ : Present.A student could be rew原创 2017-05-16 10:55:46 · 293 阅读 · 0 评论 -
LeetCode 13. Roman to Integer
题目: Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.思路: 就是将罗马数字转成十进制数,主要是考虑类似于9、90这种特殊情况。代码:class Solution {public: int romanToInt(strin原创 2017-05-15 08:39:55 · 238 阅读 · 0 评论 -
LeetCode 12. Integer to Roman
题目: Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.思路: 就是将十进制数转成罗马数字,因为只要求到3999,所以就采用了类似于穷举的方法,将千、百、十、个 各个位上的数字对应的罗马数字列举了出来,利用求余的方法,将各个位上的数字原创 2017-05-15 08:39:02 · 232 阅读 · 0 评论 -
《C和指针》——C语言字符串操作
字符串操作strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串原创 2017-03-30 13:24:45 · 830 阅读 · 0 评论 -
《C和指针》——指向数组的指针(逐个移动和逐行的区别)
定义一个数组 int matrix[3][10]; 第一种初始化: int (*p)[10]=matrix; 第二种初始化: int *pi=&matrix[0][0];与 int *pi=matrix[0];等价第一种初始化的p指向matrix的第1行,p是一个指向拥有10个整型元素的数组的指针。当把p与一个整数相加时,该整数值首先根据10个整型值的长度进行调整,然后再执行加法。可以一行原创 2017-04-01 16:39:03 · 1179 阅读 · 0 评论 -
LeetCode 344. Reverse String
题目: Write a function that takes a string as input and returns the string reversed.Example: Given s = “hello”, return “olleh”.思路: 逆序一个字符串,用reverse_iterator代码:class Solution {public: string rever原创 2017-04-04 16:27:32 · 289 阅读 · 0 评论 -
《C和指针》——字符串操作补、字符串内存操作
1.对于 *string++!='\0',它其实等价于:*string!='\0'; string++; 2.对于 strcpy函数,如果要复制的字符串比老字符串短,由于新字符串是以NUL(即’\0’)结尾,所以老字符串最后剩余的几个字符也会被有效地删除。 如:char message[ ]=="Original message";strcpy(message,"Different");此时原创 2017-04-05 15:12:32 · 350 阅读 · 0 评论 -
华为机试——字符串最后一个单词的长度
题目描述计算字符串最后一个单词的长度,单词以空格隔开。输入描述: 一行字符串,非空,长度小于5000。输出描述: 整数N,最后一个单词的长度。输入例子: hello world输出例子: 5思路取a的长度,从后往前,如果当前不为空格,且当前位置>0,位置往前移动,计数加1代码#include <iostream>#include <cstring>using namespace std;原创 2017-04-10 15:14:49 · 1688 阅读 · 0 评论 -
LeetCode 20. Valid Parentheses
题目描述: Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.The brackets must close in the correct order, “()” and “()[]{}” are all vali原创 2017-04-10 15:16:18 · 231 阅读 · 0 评论 -
LeetCode 383. Ransom Note
题目 : Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines原创 2017-04-11 10:29:33 · 362 阅读 · 0 评论 -
LeetCode 557. Reverse Words in a String III
题目 : Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.Example 1: Input: “Let’s take LeetCode contest原创 2017-04-11 10:30:09 · 308 阅读 · 0 评论 -
华为机试——计算字符个数
题目描述写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。输出描述: 输出输入字符串中含有该字符的个数。输入例子: ABCDEF A输出例子: 1思路:将输入字符转成小写,s中当前的字符如果和这个字符相等或者ASCII码值小32,计数。代码:#includ原创 2017-04-11 17:19:10 · 350 阅读 · 0 评论 -
LeetCode 520. Detect Capital
题目: Given a word, you need to judge whether the usage of capitals in it is right or not.We define the usage of capitals in a word to be right when one of the following cases holds:All letters in this原创 2017-04-12 14:07:05 · 345 阅读 · 0 评论 -
LeetCode 125. Valid Palindrome
题目: Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example, “A man, a plan, a canal: Panama” is a palindrome. “race a car” is not a原创 2017-04-18 13:13:39 · 285 阅读 · 0 评论 -
LeetCode 541. Reverse String II
题目: Given a string and an integer k, you need to reverse the first k characters for every 2k characters counting from the start of the string. If there are less than k characters left, reverse all of原创 2017-04-18 14:10:45 · 241 阅读 · 0 评论 -
C/C++——朴素的模式匹配算法和KMP模式匹配算法
朴素的模式匹配算法其实就是一个一个往下匹配,没有任何优化,在好的情况下时间复杂度为O(n+m),在最求的情况下时间复杂度为O((n-m+1)*m)。 代码实现://在主串s中找子串t,若找到返回字串在主串中的索引;若没找到返回-1#include <iostream>#include <string>using namespace std;int Index(string s, string原创 2017-04-30 16:44:39 · 3375 阅读 · 0 评论 -
《C和指针》——字符串常量实际上是个指针,你真的懂了么?
1.如果在程序中输入cout<<"xyz"+1<<endl;则输出的是什么? 因为字符串常量是个指针,这个计算就是“指针值加上1”的值 ,结果也是个指针,指向字符串中的第2个字符:y。 所以程序输出yz2.如果输入cout<<*"xyz"<<endl;则输出x3.如果输入cout<<"xyz"[2]<<endl;则输出z4.如果输入cout<<*("xyz"+4)<<endl;则输出是个未知的原创 2017-04-22 16:07:38 · 674 阅读 · 0 评论 -
LeetCode 434. Number of Segments in a String
题目: Count the number of segments in a string, where a segment is defined to be a contiguous sequence of non-space characters.Please note that the string does not contain any non-printable characters.E原创 2017-05-13 14:41:36 · 227 阅读 · 0 评论 -
LeetCode 459. Repeated Substring Pattern
题目: Given a non-empty string check if it can be constructed by taking a substring of it and appending multiple copies of the substring together. You may assume the given string consists of lowercase E原创 2017-05-13 16:24:02 · 369 阅读 · 0 评论 -
LeetCode 696. Count Binary Substrings
题目: Give a string s, count the number of non-empty (contiguous) substrings that have the same number of 0’s and 1’s, and all the 0’s and all the 1’s in these substrings are grouped consecutively.Su...原创 2018-03-26 16:56:22 · 209 阅读 · 0 评论