由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 今天G家电面的一道题
相关主题
感觉这是一道经典题说说某著名软件公司的onsite面试
问一个c++ string的问题一道微软面试题
问个google的面经贡献几道CS电面题
LC的题确实变难了。。。也来贡献一个Bloomberg的店面
请教c++的string vector问题,谢谢!怎么用putc(char a) (每次只能输出一个字符),输出一个float
GOOG intern interview 题目请问下那个查找包含给定字符的最短子串咋做?
【一个BB公司问的字母排序的问题】请教一道题目
One interview question (A)Find first non-repeating char怎么做?
相关话题的讨论汇总
话题: l1话题: s1话题: s2话题: l2话题: string
进入JobHunting版参与讨论
1 (共1页)
a*********0
发帖数: 2727
1
两个string判断是否可以match by insert/delete/replace one char of any one of
string。要求一遍扫描
a*********0
发帖数: 2727
2
这题是不是出错了,一遍扫描怎么搞?
h*********o
发帖数: 230
3
跟前几天fb那个面镜一样吧。扫一遍就可以了吧

of

【在 a*********0 的大作中提到】
: 两个string判断是否可以match by insert/delete/replace one char of any one of
: string。要求一遍扫描

b*********s
发帖数: 115
4
应该是可以的
因为只用考虑最多只有一个字符不同的情况
def match(s1, s2):
l1 = len(s1)
l2 = len(s2)
if abs(l1 - l2) > 1:
return False
if l2 < l1:
s1, s2 = s2, s1
l1, l2 = l2, l1
# replace
if l1 == l2:
count = 0
for c1, c2 in zip(s1, s2):
if c1 != c2:
count += 1
return count <= 1
# insert
else:
i = j = 0
while i < l1 and s1[i] == s2[j]:
i += 1
j += 1
j += 1
while i < l1 and s1[i] == s2[j]:
i += 1
j += 1
return i == l1
f*****t
发帖数: 13
5
这个题应该说“要求O(n)”。

of

【在 a*********0 的大作中提到】
: 两个string判断是否可以match by insert/delete/replace one char of any one of
: string。要求一遍扫描

S********e
发帖数: 74
6
scan from both left and right sides of the two strings, then see how many
different chars until left < right?
m******n
发帖数: 187
7
用了len就不是一次了。
应该设3个flag。遇到第一个不相同的字符按照下一个字符分3种情况设好flag继续向前。
其实不可能3种可能同时出现,最多2种。
比如as vs. ss就是删除和取代两种情况都可能,as vs. sa就是删除和插入都可能。

【在 b*********s 的大作中提到】
: 应该是可以的
: 因为只用考虑最多只有一个字符不同的情况
: def match(s1, s2):
: l1 = len(s1)
: l2 = len(s2)
: if abs(l1 - l2) > 1:
: return False
: if l2 < l1:
: s1, s2 = s2, s1
: l1, l2 = l2, l1

u*****o
发帖数: 1224
8
为什么G家周六还要店面!!为沙玛!!
b*********s
发帖数: 115
9
string 的 len 是 O(1) 操作,不用扫
http://stackoverflow.com/questions/1115313/cost-of-len-function

前。

【在 m******n 的大作中提到】
: 用了len就不是一次了。
: 应该设3个flag。遇到第一个不相同的字符按照下一个字符分3种情况设好flag继续向前。
: 其实不可能3种可能同时出现,最多2种。
: 比如as vs. ss就是删除和取代两种情况都可能,as vs. sa就是删除和插入都可能。

m******n
发帖数: 187
10
谢谢,这等于是把一些info提前给了,猜想string在java和c++也是这样的。

【在 b*********s 的大作中提到】
: string 的 len 是 O(1) 操作,不用扫
: http://stackoverflow.com/questions/1115313/cost-of-len-function
:
: 前。

J***o
发帖数: 553
11
c++的string虽然大部分实现是O(1),但标准里没强制要求。这题如果可以比较string
长度就简单了,不妨考虑一下输入是char*的情况。

【在 m******n 的大作中提到】
: 谢谢,这等于是把一些info提前给了,猜想string在java和c++也是这样的。
b********r
发帖数: 620
12
how do as and sa meet the requirement? looks like we can only delete/insert/
replace one char in one of arrays?

前。

【在 m******n 的大作中提到】
: 用了len就不是一次了。
: 应该设3个flag。遇到第一个不相同的字符按照下一个字符分3种情况设好flag继续向前。
: 其实不可能3种可能同时出现,最多2种。
: 比如as vs. ss就是删除和取代两种情况都可能,as vs. sa就是删除和插入都可能。

1 (共1页)
进入JobHunting版参与讨论
相关主题
Find first non-repeating char怎么做?请教c++的string vector问题,谢谢!
facebook面筋GOOG intern interview 题目
how to access a const char array in a function【一个BB公司问的字母排序的问题】
c++ 问题One interview question (A)
感觉这是一道经典题说说某著名软件公司的onsite面试
问一个c++ string的问题一道微软面试题
问个google的面经贡献几道CS电面题
LC的题确实变难了。。。也来贡献一个Bloomberg的店面
相关话题的讨论汇总
话题: l1话题: s1话题: s2话题: l2话题: string