topics

全部话题 - 话题: 字符串
1 2 3 4 5 末页 (共10页)
s*******n
发帖数: 344
1
面试题目:
有2个字符串,消除第一个字符串中第二个字符串包含的所有字母。
例如:
string1: helloworld
string2: abcdef
output: hlloworld
面试的时候我说了很笨的办法。因为不许allocate新的空间。
大家帮我说说最好的解法应该是什么?谢谢了
y**i
发帖数: 1112
2
第一个确实是字符串常量,但是返回的时候是一个char*,那么在不知情(不知道函数
体内部)的情况下,有可能会尝试修改这个字符串常量,最好返回const char*。
第二个我印象中会有一个字符串常量"TEST"在常量区产生,如楼上所说,还是直接写到
字符数组中?有点记不得了。
C++中字符串常量(string literal)会保存在一个常量区,以后如果产生同样的字符串
常量,将会先在这个常量区里面查找,如果找到,就会直接返回这个已有常量的地址。
m*******g
发帖数: 410
3
一个字典 m个单词,平均长度为k, 一个非常长的字符串中间没有任何空格,长度为n。
设计一个算法找字典中的单词是这个长字符串的子串。
条件:
1) 只能访问长字符串每个字符一次;
2)n非常长,以至于不能创造长字符串的数据结构。
c***c
发帖数: 21374
4
来自主题: Unix版 - [转载] perl字符串问题
【 以下文字转载自 Programming 讨论区 】
【 原文由 cynic 所发表 】
现在想做这么一个事情
有个个字符串
$string1 | $string2 | $string3 | $string4 | $string5
在$string2 $string3中想进行查找,将含有$keyword的的项目都筛选出来(精确匹配,
不区分字母大小写),保存在一个数组里面,然后逐行打印$string2和string3
如果能用加粗的黑体在打印时候着重表示$keyword,则最好不过了
这个字符串是在一个文本文件里面,都是统一的格式,很多行,因此需要从这个文本文件
(例如abc.txt)中读取以上的字符串信息
打印的时候如果是分页打印,一页打印100个,打完为之,最后一页有几行就打印几
行,应该怎么实现?
特别一点的是,$keyword可能在$string2 和$string3都会出现,为了避免重复,凡是
出现两次的均只按照一次处理,不打印两次
此外,可能有些字符串中 $string1 sting2 string3都完全相同,因此打印的时候
可能会有重复项目,现在希望将所有重复项目剔除
h**k
发帖数: 3368
5
来自主题: JobHunting版 - 求助 字符串交叉生成的问题
和生成一个字符所有combination的算法类似。
使用递归。
在输出下一个字符时,两种选择,或者从字符串1中选,或者从字符串2中选。每选择一
个字符后,移动指针,指向该字符串的下一个字符。
重复直到输出两个串中所有字符。
a***r
发帖数: 93
6
这题如果用DP来做,哪位给分析一下什么是subproblem?
【 以下文字转载自 Programming 讨论区 】
发信人: minisand (老婆是A+海博), 信区: Programming
标 题: 请教一个字符串比较排序的问题
发信站: BBS 未名空间站 (Mon Nov 9 16:35:46 2009, 美东)
之前有人贴出了常见的那个求Maximum repetitive substring的代码,如下:
void MaxDuplicatedSubstring(char *input, char *result)
{
int length = strlen(input);
char **substrings = new char**[length];
for (int i=0; i < length; i++)
substrings[i] = input + i;
qsort(substrings, length, sizeof(char*), (int (*)(const void*, const void*
))strcmp);
... 阅读全帖
s********g
发帖数: 29
7
来自主题: JobHunting版 - 问个字符串距离的问题
就是那个经典的比较两个字符串距离的问题,看两个字符串需要多少步变换才能成为相
同的字符串。我用递归写的,可是死活不对。谁给指点一下问题在哪儿?
这是我的C# code:
public int CalcDistance(string src, int srcBegin, int srcEnd, string
dst, int dstBegin, int dstEnd)
{
if (srcBegin > srcEnd)
{
if (dstBegin > dstEnd)
return 0;
else
return dstEnd - dstBegin + 1;
}
if (dstBegin > dstEnd)
{
if (srcBegin > srcEnd)
... 阅读全帖
q****m
发帖数: 177
8
来自主题: JobHunting版 - 问两道字符串的题
对于第一道题,如果是绝对值的和的话,那么这两个字符串不会在原来string 的中间
,只有一种情况,那就是一个字符串包含第一个字符,另外一个字符串包含最后一个字
符,这样的话就是线性了

s2
s***e
发帖数: 284
9
假设有很多字符串,希望建个index迅速查找哪些字符串符合查询条件。
如果是精确匹配比较容易,比如前缀树什么的。想问问有什么index支持
对包含wildcard的字符串匹配,比如支持"*abc*"这样的查询
能给些论文的pointer嘛?谢谢。
w********n
发帖数: 137
10
来自主题: Programming版 - 多文本搜索多个字符串
门外汉请教基本CS问题,非面试题,是实际需要解决的问题。
一个Server Side 的程序,需要抓取多个页面,只保留页面信息如果页面的文字满足以下
要求
1 包含至少一个设备类型字符串 [phone tablet pc ebook ..](数组预先定义好的,
大小10)
2 包含至少一个地址信息字符串 [Arizona, California, Texas ...](数组预先定
义好的,大小100)
3 包含至少一个品牌信息字符串 [apple asus samsung rim ...](数组预先定义好的
,大小10)
举例, 如果页面含有 .... Texas .... Samsung .... smartphone ....
那么就就是满足条件的。大小写无所谓。
假如文件大小N, 三个数组大小分别为M1, M2, M3
for each string in file
————if string inside M1
————else return
————if string inside M2
————else return
————if string insdie M3
... 阅读全帖
r*****8
发帖数: 2560
11
C语言,结构体转字符串。简单的难题
结构体转字符串怎么做?我有一个野外站点,通过铱星发回来数据,10个字符1分
钱。为了降低费用,要压缩字符数量。结构体的位域(bit fields)很理想,以下例子
3个数据只要2个字符就够了。
结构体做好以后,要用字符传送(short burst message),怎么把结构体变成字
符串?我用的是个笨办法,把结构体写入一个文件。然后把文件的字符串读出来。
各位大侠有更好的方法吗?
如果有时间细看以下是程序。
// #############################################
#include // Standard input output.
#include // Standard library.
#include // String handling
#include /* POSIX terminal co... 阅读全帖
l*****y
发帖数: 344
12
来自主题: Computation版 - 字符串算法
请教,有没有算法实现‘字符串到整数的映射’?
怎么用字符串匹配算法,如KMP,实现‘字符串到整数的映射’?
谢谢!
p*****b
发帖数: 291
13
一个array有220万个字符串。其中有一小部分字符串可能是该list中其他字串的子串(
只从左边界算)。
要求找出所有这样的串及其包含该串(只从左边界算)的长串。如何做可以效率高?
A list contains:
o123
o12345
o12378
o78675
o78o123
...
需揪出o123,及o12345和o12378但不要o78o123
h**6
发帖数: 4160
14
来自主题: JobHunting版 - 求助 字符串交叉生成的问题
C(6, 3) = 20
以下01串中,0表示从第一个字符串中取,1表示从第二个字符串中取。
000111
001011
010011
100011
先把第一个1移到左端,然后移第二个1
001101
010101
100101
...
111000
写一个next_combination函数可以完成这些移动,不需递归。
A*********r
发帖数: 564
15
来自主题: JobHunting版 - 求助 字符串交叉生成的问题
我觉得我们对题目的理解不一样。。
给一个简单的例子:s0="AB", s1="XY"
按照原题的意思,一共有6种可能性
AXBY
AXYB
ABXY
XABY
XAYB
XYAB
用DP的话, 取F(i,j)表示以第一个字符串中前i个字符和第二个字符串中前j个字符的字串的可能性, F(1,j)=j+1, F(i,1)=i+1;
F(i,j)=F(i-1,j)+(F(i,j-1).
算法复杂度,应该是O(m*n)因为对每个i,j都要算一次。
这个正好跟C(m+n,i)=C(m+n-1,i-1)+C(m+n-1,i)的
递归公式一致。
k******r
发帖数: 2300
16
用hash table,比方定义 int hTable[256], 然后初始化, . 然后再读字符串, 第一
个字符a,那么 if(
int hTable[256];
hTable['a'] = 0, ..., hTable['z']=0;
char c;
int len = 0;
int maxLen = 0;
while(c=read(str))
{
if(hTable[c]==0)
{
hTable[c]++;
len++;
}
else
{
if(maxLen {
maxLen = len;
}
len=0;
hTable['a'] = 0, ..., hTable['z']=0;
hTable[c]++;
len++;
}
}
if(maxLen {
maxLen = len;
len=0;
}
没作调试,可能有BUG,时间度大概是O(N),就是个大概... 阅读全帖
k******r
发帖数: 2300
17
碰到了重复的字符, 保留当前不重复字符串的最大长度,然后回到初始状态,重新计
算。并不是“前面当前的结果全部舍弃不要”。 你的两个指针的做法跟我的相似。如
果我没有理解错,你的“每次前面的走一步”,不仅要update max,还要update 表。
x****3
发帖数: 62
18
Find the longest palindrome in a string.
这题出现频率很高。 一直没看到简洁的答案。 我能想到就Brute force, O(n^2). 有
个错的简单的解法(倒序后的字符串和原字符串, longest common substring.
counter example, "abcxacba")
有人指点下吗? 谢谢
g*****1
发帖数: 998
19
虽然大多数都是面c++的吧,
可是感觉字符串的面试题大家给出答案都是c-style string表达的
是不是面试者在出类似题就期待考察c-style string的细节,
还是什么其他原因?
是不是以后自己复习字符串有关的题目,直接联系c-style string的?
l*******b
发帖数: 2586
20
来自主题: JobHunting版 - 问两道字符串的题
n^2吧,如果有绝对值,那个子字符串必然是从母字符串的一头头开始的
c********t
发帖数: 5706
21
来自主题: JobHunting版 - 用trie统计字符串的疑惑
经常看到面经里说统计查询字符串的频率用trie结构。
比如统计所有用户在google search上的查询字符串的频率。
我的疑惑就是memory能存下这样一个trie结构吗?如果能需要多大?我的想法是就算字
符串长度最多255,那也是 26^255数量级吧。
同样,有的设计,把字典单词都放在一个trie里,我也很困惑。
求解释。
多谢!
b****g
发帖数: 192
22
来自主题: JobHunting版 - 问一道字符串排序题
一串1~9的整数,比如11635,是由1、1、3、5、6这五个数字组成的。
把这五个数字做成的所有字符串按顺序排列出来:
11356 -- 排第1
11365 -- 排第2
11536 -- 排第3
11563 -- 排第4
11635 -- 排第5
11653
13156
...
现在要求写一个函数,输入11635,输出5,因为11635在上面的那些字符串里排第5。
怎么做?生成所有排列在找11635肯定不行,太慢了。
我只会用leetcode里的next permutation一个一个数出来,速度也太慢了。
j********x
发帖数: 2330
23
来自主题: JobHunting版 - 字符串压缩
abdcdef变成a5f,首尾不变,中间变成字母个数,很多这样的字符串,求所有字符串变
话之后长度之和最小的
j********x
发帖数: 2330
24
来自主题: JobHunting版 - 字符串压缩
abdcdef变成a5f,首尾不变,中间变成字母个数,很多这样的字符串,求所有字符串变
话之后长度之和最小的
S********s
发帖数: 29
25
这个其实是下面问题反过来:
检查一个字符串是否包含k位a进制数的所有表示形式。保证原字符串的所有字串都是合
法的k位a进制数。"00110, a=2, k=2" => true (包括了00,01,10,11)
00110,11001,01100似乎就是最短的了。
S*******C
发帖数: 822
26
来自主题: JobHunting版 - 字符串拆分,有什么好的解法?
给一堆字符串 【“abc”,“def”,“adbecf".....】
问有没有一个字符串是其中两个的组合
这里的组合是指交叉组合:
如: adbecf是 a b c 和 d e f 的交叉组合
1234 是 1 3 和 2 4 的交叉组合
J*******g
发帖数: 381
27
【 以下文字转载自 Programming 讨论区 】
发信人: JiayiWang (noname), 信区: Programming
标 题: 请教一个C++字符串处理程序
发信站: BBS 未名空间站 (Tue Jul 14 22:44:10 2009, 美东)
我想把字符串 "This is a cat."里面的每一个单词反过来变成“sihT si a tac.”,
请教一下高手这个算法怎么写比较好?
谢谢!
k****r
发帖数: 176
28
【 以下文字转载自 Programming 讨论区 】
发信人: kappar (锄禾), 信区: Programming
标 题: Linux下C++如何快速返回超大文件的某一行字符串?
发信站: BBS 未名空间站 (Wed Jul 27 19:12:34 2011, 美东)
如果文件比较大,显然不可能全部读进内存,再统计\n字符的个数并定位
每一行的长度大小可能不同,怎么快速返回某一行字符串呢?
难道用mmap映射整个大文件,然后再统计\n并定位?感觉还是要读大文件到虚拟内存
不知道有什么好思路。
J*******g
发帖数: 381
29
【 以下文字转载自 Programming 讨论区 】
发信人: JiayiWang (noname), 信区: Programming
标 题: 请教一个C++字符串处理程序
发信站: BBS 未名空间站 (Tue Jul 14 22:44:10 2009, 美东)
我想把字符串 "This is a cat." 里面的每一个单词反过来变成“sihT si a tac.”,
请教一下高手这个算法怎么写比较好?
谢谢!
f********o
发帖数: 1163
30
来自主题: Linux版 - 问个awk查找字符串的问题
如何用awk查找某个字符串并知道该字符串所在的行数?如果有多个匹配,则输出多个
行数。
多谢。
d*****e
发帖数: 47
31
来自主题: Programming版 - 问个字符串的基本问题
请问无论通过何种方式创建字符串,compiler都会在末尾加上一个或多个的null字符'\
0',这样说对么?
即无论是在堆,栈还是常量区:
char *cp = new char[5];
cp = "hello";
或者
char *cp = "hello";
或者
char cp[] = "hello";
等等,都会有
cp[5] == '\0';
对吧?(用g++编译运行结果是)
我有检查了一下cp[6], cp[7], ..., cp[100],怎么也都是'\0'字符?是碰巧这片区域
都是空字符?请问以上初始化字符串的时候到底是初始化几个字符?
小弟菜鸟,还望各位前辈多包涵指教
r*****e
发帖数: 792
32
从键盘输入一串字符串,长度不定,所以用char[max]不够好,
在不用string类型的情况下怎么将这个字符串存在char/char*
类的变量中呢?在下面code的基础上如何修改最好?
多谢!
char buffer[max];
cin.getline(buffer, 100);
t*i
发帖数: 72
33
来自主题: Programming版 - 字符串变换的问题
我有一个字符串 "XYXYZ"
我先把它转化成两个二进制数 10100 (x代表1,y,z代表0)
01010 (y代表1, x,z代表0)
请问在c++里有什么比较简便的方法可以实现。
其实我是想用c++的为运算符对他们进行操作。我得笨办法就是把字符串替换成"10100", "01010",然后把它直接cast成二进制数。 但是我不知道这个cast的函数是啥,另外我觉得高手肯定有更有效率的方法。
s****g
发帖数: 8
34
我有一个ASCII码字符串
char table[240];
还有一个float数字;
float time;
现在要找到字符串table里面的第一个和第二个逗号字符",",然后将两个逗号中间的字
符换成这个float的数字。 比如如果table[] = {"45,568,909jljgf...."}, time=1.
095的话, 换完了以后应该是 "45,1.095,909jljgf...."
谁能帮忙看看怎么弄啊,感激不尽!
d***s
发帖数: 55
35
文件中的字符串格式如下
1993 12 APNUMMATH Jessup, A Case against
1991 8 APNUMMATH Singh & Kulkarni, An Integrated Solution
1990 6 APNUMMATH Joseph & Levine & Liukkonen, Randomized Newton-
Raphson
1982 APP Golomb, Shift Register Sequences, revised edition
需要把作者信息提取出来,就是在“,” 之前用“&" 分隔的字符串,而且前三列的信
息有可能不完整,如最后一行。
请问有什么办法可以处理吗?
考虑用strread,但是有些问题不知如何解决
1:前三列信息不完整
2:第4列如何光提取作者
谢谢!bow~
J*******g
发帖数: 381
36
来自主题: Programming版 - 请教一个简单字符串程序 (转载)
【 以下文字转载自 CS 讨论区 】
发信人: JiayiWang (noname), 信区: CS
标 题: 请教一个简单字符串程序
发信站: BBS 未名空间站 (Thu Aug 27 17:20:27 2009, 美东)
就是把一个字符串内的多余的空格去掉。 要求in place做。 想了几个办法,好像不
太容易,想请教一下这里的
高手。
请不要嘲笑问题简单,谢谢。
m******d
发帖数: 414
37
来自主题: Programming版 - 请教一个字符串比较排序的问题
之前有人贴出了常见的那个求Maximum repetitive substring的代码,如下:
void MaxDuplicatedSubstring(char *input, char *result)
{
int length = strlen(input);
char **substrings = new char**[length];
for (int i=0; i < length; i++)
substrings[i] = input + i;
qsort(substrings, length, sizeof(char*), (int (*)(const void*, const void*
))strcmp);
int max = 0;
int index = -1;
for (int i=0; i < length - 1; i++)
{
int c = 0;
while (substrings[i][c] && substrings[i+1][c] && substrings[i][c] ==
substrin... 阅读全帖
c*******t
发帖数: 13
38
undefined behavior
不过主流开发环境中优化之后,test1中的字符串放在只读数据段中,函数返回后数据
依然有效,而test2中的字符串在栈上。
b***i
发帖数: 3043
39
来自主题: Programming版 - C#方案里两个程序传递字符串问题
有一个project,是个数据收集程序。xweb
为了发布到网上,又做了solution, 包含asp.net project,又加入了xweb,在xweb里面
每1秒钟更新一个字符串theText。
asp.net用ajax每秒钟读这个字符串。我在xweb里面加入了class textget{ public
static volatile theText; public void setText(String text){theText=text;}
public String getText(){return theText;}
结果,网页现实不出来内容。调试到getText, theText值为空,可是每次setText都是
有值的。大家知道怎么回事吗?
t**********s
发帖数: 930
40
【 以下文字转载自 Java 讨论区 】
发信人: tennisalways (tennisforever), 信区: Java
标 题: 如何将字符串原封不动地转为相应的16位数字.
发信站: BBS 未名空间站 (Wed Jan 18 12:56:39 2012, 美东)
比如就是将字符串 "47C3CC" 转为16进制的数字 47C3CC
有没有现成的Java Method?
谢谢
l*********s
发帖数: 5409
41
来自主题: Programming版 - c字符串内存分配问题
比如说,我要从一个文件读入股票代码。如果申明为字符串常量,那编译器分配内存的
时候是不是就会把他们都塞到一段连续空间内来减少fragmentation?
但是,要怎么再运行期间实现字符串常量的初始化呢? (不知道我的表达清楚吗)
l*********s
发帖数: 5409
42
来自主题: Programming版 - c字符串内存分配问题
那怎么从磁盘文件里导入字符串,赋值到字符串常量呢?
w********n
发帖数: 137
43
来自主题: Programming版 - 多文本搜索多个字符串
但是忘了说
像 "New York" 这样的地名应该被作为一个字符串搜查,
以上的方法都会miss掉
(如果用空格把输入文件split成字符串时)
foreach addr in address_list
___if addr inside input_file //use string search function
______do somthing
___else
______do something
如果这样做会不会很慢
l********r
发帖数: 14
44
【 以下文字转载自 Programming 讨论区 】
【 原文由 littledear 所发表 】
偶的具体问题是这样的。
偶有一个sym object, such as:
y=3*x^2+5*x^7
想把系数和阶次取出放到数组里面。
偶能想到的办法是用字符串比较,找'x','*','^'等关键字,然后取出相应的
字符串,然后转换成数。这在c里面应该不难,不知道matlab是否方便?
有更好的办法实现这个吗?
a******9
发帖数: 54
45
来自主题: Computation版 - matlab 里关于路径字符串的tricky问题
是这样,我想做这么件事:
pathstring = pwd; % store the current path in pathstring
cd c:/matlab; % go to c:/matlab.
cd pathstring; % go back to the original path.
但这样不行,因为matlab把pathstring当作字符串 'pathstring' 而不是当时pwd返回
的字符串。怎么解决这个问题?我折腾了好久还没搞定。多谢了!
z**********6
发帖数: 68
46
去google搜一下前缀树吧,很常用的字符串索引结构,你的这个问题应该可以转化成建
前缀树索引+遍历搜索的模型
l********r
发帖数: 14
47
【 以下文字转载自 Programming 讨论区 】
【 原文由 littledear 所发表 】
偶的具体问题是这样的。
偶有一个sym object, such as:
y=3*x^2+5*x^7
想把系数和阶次取出放到数组里面。
偶能想到的办法是用字符串比较,找'x','*','^'等关键字,然后取出相应的
字符串,然后转换成数。这在c里面应该不难,不知道matlab是否方便?
有更好的办法实现这个吗?
e*u
发帖数: 10016
48
water123 (字符串) 好像不是,悟空绝对有问题。
c*9
发帖数: 3241
49
rt.
字符串 = 悟空孙 = 孙实验 ???
b****y
发帖数: 278
50
本人菜鸟, 请教一个C++ 问题,
对n个字符串,进行比较时,要求忽略大小写, 有没有什么快速的方法? 用ASCII码转
换太慢了
多谢了
1 2 3 4 5 末页 (共10页)