由买买提看人间百态

topics

全部话题 - 话题: 字符串
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
h**6
发帖数: 4160
1
来自主题: JobHunting版 - 问几道较难的字符串题
第一题,遍历b串用256数组记录出现过的字符,出现过设为1,没出现过设为0。
然后遍历a串同时检测数组,为1的加入返回字符串中。
其他的等待高手解答。
D********g
发帖数: 650
2
来自主题: JobHunting版 - 【Google字符串面试题】
给一个字符串s1,和一个小串s2,求算法能在s1中找到包含s2里所有字符的最小子串。
比如,
s1 = "ADOBECODEBANC"
s2 = "ABC"
最小子串是 "BANC"
要求O(N)的算法。
l**o
发帖数: 356
3
来自主题: JobHunting版 - 【Google字符串面试题】
先找到第一个包含所有字符的子字符串,对于substring 中出现的第一个B中的字符,在
他之后找第一次出现的位置,substring 后移,找出最短的长度
不知道我说清楚了没有...
h**6
发帖数: 4160
4
来自主题: JobHunting版 - 【Google字符串面试题】
我的方法是先找到第一个包含所有字符的子字符串,用两个指针分别指向子串头尾,一
个数组统计各字符出现次数。此后首先考虑移动左指针。
1.左指针移动,每次右移更新子串最短长度。
1)若左指针指向字符不是B串中字符,左指针右移;
2)若左指针指向字符是B串中字符,且在子串中出现次数不止一次,左指针右移并减去
一次出现次数;
3)若左指针指向字符是B串中字符,且只在子串中出现一次,左指针不动,换右指针。
2.右指针移动。
1)若右指针指向字符不是B串中字符,右指针右移;
2)若右指针指向字符是B串中字符,且不是左指针指向的字符,右指针右移并增加一次
出现次数;
3)若右指针指向字符是B串中字符,且是左指针指向的字符,右指针右移并增加一次出
现次数,换左指针。
A*********r
发帖数: 564
5
来自主题: JobHunting版 - 【Google字符串面试题】
链表头要min,是为了计算当前子串的长度?
看你的例子:
s1 = "ADOBECODEBANCBBCAA"
s2 = "ABC"
0,3,5,9,10,12,13,14,15,16,17
刚开始依次遍历到0,3,5, hashtable为
a b c
0 3 5
计算此时的字串长度为5, 保存当前最小字串
遍历到9,10,
hashtable 依次被更新为 0 9 5 --> 10, 9, 5, 最小index变为5, 所以计算此时的
字符串长度为5,不比之前的更小,不用更新最小字串
继续遍历到12, hashtable 变为 10, 9, 12, 更新长度为3
继续遍历到13, hashtable变为 10,13,12,长度一样,不更新
继续遍历到14,15,16,17, hashtable依次变为
10, 14, 12 -> 10, 15, 12 -> 16, 15, 12 -> 17, 15 , 12
长度都没有被更新。。
唯一的问题就是在hashtable中,计算当前字串长的问题,貌似直接算的话需要O(m).
如果在链表头保留了当前hashtable中最小ind
m*****k
发帖数: 731
6
来自主题: JobHunting版 - 【Google字符串面试题】
给一个字符串s1,和一个小串s2,求算法能在s1中找到包含s2里所有字符的最小子串。
比如,
s1 = "ADOBECODEBANC"
s2 = "ABC"
A: 0,10,
B: 3, 9,
C: 5,12
(0,3,5) length is 5-0
min 0, remove 0, take next one, say 10
(10,3,5) lenth is 10 -3
min 3, remove, take next, 9
(10,9,5) length is 10 - 5
min 5, remove, take next, 12
(10,9,12) lenth is 12 - 9
min 9, remove, no next, done.
shortest is 12 - 9, which is (10,9,12)
m*****k
发帖数: 731
7
来自主题: JobHunting版 - 【Google字符串面试题】
给一个字符串s1,和一个小串s2,求算法能在s1中找到包含s2里所有字符的最小子串。
比如,
s1 = "ADOBECODEBANC"
s2 = "ABC"
A: 0,10,
B: 3, 9,
C: 5,12
(0,3,5) length is 5-0
min 0, remove 0, take next one, say 10
(10,3,5) lenth is 10 -3
min 3, remove, take next, 9
(10,9,5) length is 10 - 5
min 5, remove, take next, 12
(10,9,12) lenth is 12 - 9
min 9, remove, no next, done.
shortest is 12 - 9, which is (10,9,12)
s******n
发帖数: 21
8
来自主题: JobHunting版 - 求助 字符串交叉生成的问题
两个字符串 "ABC" "XYZ", 请问如何生成 all possible interleaved combinations
include all character from both sets but still keep the order from their
original forms
sample output:
"AXBCYZ"
"ABXYCZ"
要求打印出所有可能 这题怎么做? 谢谢!
r******e
发帖数: 80
9
来自主题: JobHunting版 - 问一道关于字符串的面试题
谢谢, xiongyp
1. 如果没有空间存在set里面呢?
2. 另外,对于n长度的字符串, 其中有m个相同的字符, 其它的都是唯一的。 复杂度
是 n!. 有没有办法做到 n! / m! 呢?
O******i
发帖数: 269
10
来自主题: JobHunting版 - 字符串中字符的频率题?
给一个字符串,like “hello world",然后输出 l:3 o:2 e:1 d:1 h:1 r:1 w:1。就
是每个出现的字符和其出现的频率,要求频率从高到低输出。
Hash表是无序的,怎么按从高到低输出?
z****u
发帖数: 104
11
字符串的 permutation 肯定是比较基础的题了,可是自己写了一下发现要 bug free
真心很难啊。调试了半天才 ok,而且程序看起来很臃肿,这要是在白板上铁定写不出
来啊
求大家指点一下该向哪个方向改进?
#include
#include
#include
char* insert(char* dst, int n, char c, int j)
{
/* Insert char c into string dst at location j */
n++;
dst = (char*) realloc(dst, sizeof(char) * n);
while(j < n)
{
char tmp = dst[j];
dst[j] = c;
c = tmp;
j++;
}
return dst;
}
char** permutation_recursive(char* s, int n, in... 阅读全帖
z****u
发帖数: 104
12
没有考虑重复字母的问题,所以测试 aab 肯定通不过
主要考虑的是 permutation 出来的字符串的存储,所以用了很多 malloc 和 realloc
,不过现在想起来我其实完全可以在开始就用一个 malloc 搞定的。
写代码前没动脑子,出来就是这个效果了, /sigh,水平亟待提高啊
K*******i
发帖数: 399
13
来自主题: JobHunting版 - 求字符串最后一个单词的长度
要求bug free
字符串只包含大小写字母和空格,空格是分隔符
以下返回0
NULL
"" // 长度为0的空串
" "
以下返回5
"This is an apple"
" This is an apple"
"This is an apple "
" This is an apple "
"apple"
" apple "
" apple"
"apple "
p*****2
发帖数: 21240
14
来自主题: JobHunting版 - 问个字符串距离的问题

edit distance.
就是两个字符串a,b。
从a变到b需要最小的步骤
每步可以做三种操作
1. 增加一个字符
2. 删除一个字符
3. 修改一个字符
l*******s
发帖数: 1258
15
来自主题: JobHunting版 - 问个字符串距离的问题
请google: edit distance
这个是DP的经典问题,思路挺NB的,非常具有扩展性。相关算法在NLP领域用的很多。
基本思路就是用两个字符串构建一个matrix,每个cell代表对应的两个字串的edit
distance。
自己定义insert、delete、alternate的cost,然后比较每个cell周围三个cell的值,
确定当前值,然后就ok了
c********t
发帖数: 5706
16
给字符串,里边是几个单词中间没空格,输出所有可能的句子。
这题谁见过?我怎么看不懂。求解释。
K*****k
发帖数: 430
17
来自主题: JobHunting版 - 这个字符串题有什么好的解法?
输入是字符串的集合,返回包含数字字符最少的那个串,如果有多个串都是最少数字字符
,返回任意一个即可.
l*******b
发帖数: 2586
18
来自主题: JobHunting版 - 问两道字符串的题
这样的,加了绝对值。考虑对齐的字符串能不能延伸。因为延伸以后距离一定更大。所
以有三种情况
*******sddff********
kjhhg
sdj************
****kgc
*************ljgd
dssj************
如果要返回所有距离最大的,只要把这种里面两头相同的部分踢剃掉就好了。
C***y
发帖数: 2546
19
来自主题: JobHunting版 - 老题重提:反转字符串
第一步整个字符串reverse
第二步按单词reverse
b***m
发帖数: 5987
20
来自主题: JobHunting版 - 老题重提:反转字符串

反转字符串之类的,基本上也没人写了啊。
n******t
发帖数: 4406
21
字符串长度有上限么??然后还有限内存???
e***s
发帖数: 799
22
一个连续没空格字符串,一个字典,怎样知道最少单词的分割方法?
http://thenoisychannel.com/2011/08/08/retiring-a-great-intervie
这是一个很好的POST,但是没有提供DP的方法。不知道这个递归的memorization算不算
DP?
多谢了!
方法定义
String segmentString(String s, Set dict)
例如
"applepie" -> "apple pie" 当然字典里面没有 "applepie" 这个字咯
e***s
发帖数: 799
23
二爷,是要把分割的单词返回到一个字符串中,方法定义是
String segmentString(String s, Set dict)
O******i
发帖数: 269
24
这题在CAIWU的G面经也有?
和一个老美。先上来DP问题。说给一个字符串,是通过一些单词没有空格隔开的。让我
如果把他们分成最少的单词数。用了DP做出来。不过不知道他听懂没有。然后让设计一
个数据结构,使得一个人输入几个字母以后,会弹出来推荐的词。我用了prefix tree
。然后他问怎么能最小化打字。我就说可以根据概率来弹出后面3个的推荐,然后一次
继续。然后在这个上面纠缠了很多,然后考虑了很多情况。然后算了一下期望可以减少
的打字数。
w****x
发帖数: 2483
25
来自主题: JobHunting版 - 用trie统计字符串的疑惑

不会的,你一个查询字符串可以hash到不同的机器,一个机器维护一个big trie
r**h
发帖数: 1288
26
突然想到了这个问题,求教一下各位
虽然trie专门用来处理字符串,但是我觉得对于hashset,如果hash函数设计得好,效
率也不会输呀。
r**h
发帖数: 1288
27
来自主题: JobHunting版 - 问一道字符串排序题
这题首先就应该把数字转换成字符串吧?
leetcode上的那道题没有重复的元素,要简单一些呀
(不过那题要写对感觉也不简单啊)
a**********0
发帖数: 422
28
【 以下文字转载自 Java 讨论区 】
发信人: apprentice00 (数学学徒), 信区: Java
标 题: 如何确保每次读入的字符串都是unique的
发信站: BBS 未名空间站 (Mon Jul 29 10:39:48 2013, 美东)
每次读入一个string 但是程序需要每次读入的string原先没有读入过 也就是unique的
想到了hashset 但是我的程序没有如我所愿 即使有时候读入的东西以前读到过 也照
读不误 代码如下 请帮忙指点
String result = "";

boolean flag = true;

while(true) {



for (int i = 0; i < k; i++) {

... 阅读全帖
k***g
发帖数: 166
29
来自主题: JobHunting版 - 小问题:字符串原地压缩
assumption: 数组足够放下压缩后的字符串
输入 abc 输出 a1b1c1
输入 aaa 输出 a3
唯一想到的办法是倒着来,然后memcpy到开头,是不是太土了...
o***g
发帖数: 2784
30
刚才看Swift String,说想要知道字符串的字符个数需要用countElements()来数,这
个是从前到后一个一个数的,这个准
NSString的length可能会返回不同的结果
W***i
发帖数: 9134
31
来自主题: JobHunting版 - 排序文件里的所有字符串
时间复杂度,空间复杂度, 之后如何查找字符串
这个是recruiter给的面试例子。。。
p*********j
发帖数: 47
32
来自主题: JobHunting版 - 返回字符串所有的 combination
输入一个字符串,返回所有字串,即"abc" -> {"a", "b", "c", "ab", "bc", "abc"}
。觉得写的好烂,大神们给提提意见,多谢!
public static ArrayList combinationsString(String s) {
ArrayList res = new ArrayList();
for (int i = 1; i <= s.length(); i++) {
dfs(s, 0, i, res);
}
return res;
}
private static void dfs(String s, int start, int resLength, ArrayList<
Character> res) {
if (resLength == 0) {
System.out.println(res.toString());
... 阅读全帖
m*******g
发帖数: 410
33
我的一个思路是:
把字典里面单词保存起来,找到字词的最长长度,然后长字符串进行滑窗处理,每个滑
窗对所有的单词进行搜索,找到是否有字典中的单词,这貌似不是最优解。
n***t
发帖数: 76
34
1.有个很大很大的文件, 每一行是一句话。有可能有重复的话。
如何设计一种算法,能达到如下目的
(1)找出只出现一次的句子
(2)找出类似的句子。 (类似的定义是:两个句子只相差一个单词但是相同的单词
顺序需要一样。 比如"I love you" 和 "I love", "I love him", "I love you two"
都可以算作是类似的句子)
题目并没有说需要分布式算法还是单机算法。
2. 有很多很大的文件,文件中每一行是一个正整数。 所有文件中,数字的总
数量是Y。 所有这些数字的数值范围是[1,X],可能有重复。 (换句话说,如果每一
个数字都不一样的话那么X==Y,但是实际情况可能是X接近于Y)
如何设计分布式算法,找到最小的没有出现的数?
3. 给一个字符串S,如何在S的前端加最少字符使得S成为一个回文?只能在前端加,不
能在中间或者后端加。
h**********c
发帖数: 4120
35
1. 如果句子长度有限,可以先分析
比如16,
In addition, 可以就每个句子的高频字母进行分类
比如
i love you
o2e1i1l1v1
I do not give shit
o2t2...
如果你的copora 有也这样的分类,估计能直接把句子找出来
3. 应该先找input 里是不是有一个最大子回文

1.有个很大很大的文件, 每一行是一句话。有可能有重复的话。
如何设计一种算法,能达到如下目的
(1)找出只出现一次的句子
(2)找出类似的句子。 (类似的定义是:两个句子只相差一个单词但是相同的单词
顺序需要一样。 比如"I love you" 和 "I love", "I love him", "I love you two"
都可以算作是类似的句子)
题目并没有说需要分布式算法还是单机算法。
3. 给一个字符串S,如何在S的前端加最少字符使得S成为一个回文?只能在前端加,不
能在中间或者后端加。
s**********g
发帖数: 14942
36
来自主题: JobHunting版 - 字符串拆分,有什么好的解法?
1) 如果给定s3看是否是s1和s2的组合的话,有DP的解法
2) 然后就是针对一堆字符串,根据长度把可能的组合找出来,用1) 检查了吧
t****i
发帖数: 24
37
一个字符串,都是由 字符 a 组成,例如
"aaaaaaaaaaaaaaaaaaaaaaaaaa"
可以翻译成
the string of sequential char "a" 吗?
谢!
J*******g
发帖数: 381
38
来自主题: CS版 - 请教一个简单字符串程序
就是把一个字符串内的多余的空格去掉。 要求in place做。 想了几个办法,好像不
太容易,想请教一下这里的
高手。
请不要嘲笑问题简单,谢谢。
J*******g
发帖数: 381
39
【 以下文字转载自 Programming 讨论区 】
发信人: JiayiWang (noname), 信区: Programming
标 题: Re: 请教一个简单字符串程序 (转载)
发信站: BBS 未名空间站 (Thu Aug 27 20:51:22 2009, 美东)
就是连续的空格符,把它压缩成一个单独的空格。 string之前和之后的空格也是要去
掉。 谢谢。
m**k
发帖数: 4039
40
【 以下文字转载自 Internet 讨论区 】
【 原文由 monk 所发表 】
例如,输入Jan. 1 2001,
怎么把它翻译成日期型的,对它进行加减运算,
然后再变成字符串打印出来?
多谢多谢!
WB
发帖数: 170
41
想要吧...放在很长的路径path截断后的前面or后面,
.net的那个elpsis类好像只能画,不能得到截短后的字符串。
比如
c:/adssdhks/dsadsd/dsdsd/file1
->
c:/ass/.../dsdsd/file1
or
->
.../dsdsd/file1
java也有吗?
t*****x
发帖数: 3
42
我不会java,但由于项目需要在编一个java程序。需要把浮点型
变量进行强制类型转换成字符串。
请各位高手指点,应该如何做?
谢谢!
h****w
发帖数: 41
43
怎么获得java applet句柄,然后往指定的文本框填字符串?
l***e
发帖数: 480
44
类里的字符串向量赋值,总报错:
java.lang.NullPointerException
定义了一个类:
CLASS MP{
Vector AAA;
.....
};
.....
String STR=“XXXXX”;
MP mp1= new MP();
mp1.AAA.add(STR); 〈--- EXCEPTION
什么问题?
t**********s
发帖数: 930
45
比如就是将字符串 "47C3CC" 转为16进制的数字 47C3CC
有没有现成的Java Method?
谢谢
h*****y
发帖数: 68
46
比如说在txt文件里有如下格式的01字符串,每行10位数字为一个node
1 0 1 0 1 0 1 0 1 0
0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 1 1 0 0
...
怎样读出这些node,转换成bit流格式,以便进一步对每个node进行比较?
我想应该弄成BitSet,怎么弄呢?
l*****n
发帖数: 1648
47
sed的替换字符不支持\n
tr只能换字符,不能换字符串
有什么好方法?
l*****n
发帖数: 1648
48
sed的替换字符不支持\n
tr只能换字符,不能换字符串
有什么好方法?
b*********n
发帖数: 1258
49
来自主题: Programming版 - 如何在matlab里面load字符串
我有这样的一个文件
是一个字符串,比如说abcde
想load进入matlab然后分析
我想生成一个array
然后每一个字母是一个a[1], a[2],a[3]...
不知道怎么实现
我用load or textread
就把输入文件都存到一个a[1]里面了
t*****l
发帖数: 121
50
来自主题: Programming版 - cout怎么不换行输出大量字符串?
如果字符串很长的话,cout输出会自动换行。是不是因为stream overflow?
有什么指令可以禁止系统自动换行吗?
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)