由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - leetcode的Longest Substring Without Repeating Characters解法好麻烦啊
相关主题
请教:这个10来行的leetcode程序有什么问题?新鲜出炉的Yelp面经[已更新]
那位大侠帮看看 Longest Substring Without Repeating Characters 这个为啥总是不对骑驴找马小结
LC Longest substr w/o rep charan interview question
(已解决,code错了) online judge 有的时候会有点小bug吗?问问题
Leetcode- Longest Substring Without Repeating Characters 的 test caselongest repeated substring怎么做?(亚麻刚刚被问到的题)
amazon onsite 请教请教suffix tree and longest repeated substring
Minimum Window Substring (from leetcode)这道题咋做?
longest substring without repeat问一个经典题目
相关话题的讨论汇总
话题: int话题: beg话题: ret话题: mp话题: chars
进入JobHunting版参与讨论
1 (共1页)
p*****3
发帖数: 488
1
http://leetcode.com/2011/05/longest-substring-without-repeating
丢个简单的:
class Solution {
public:
int lengthOfLongestSubstring(string s) {

unordered_map mp;
int ret = 0;
int beg = 0;

for (int i = 0; i < s.length(); i++)
{
if (mp.find(s.at(i)) != mp.end() && mp[s.at(i)] >= beg)
beg = mp[s.at(i)] + 1;

mp[s.at(i)] = i;
ret = max(ret, i - beg + 1);
}

return ret;
}
};
文康,要不给改改?
r**h
发帖数: 1288
2
这思路不错,赞
我觉得hash直接用数组就可以了
int hash[256];
for(int i=0; i<256; i++) hash[i] = -1;

【在 p*****3 的大作中提到】
: http://leetcode.com/2011/05/longest-substring-without-repeating
: 丢个简单的:
: class Solution {
: public:
: int lengthOfLongestSubstring(string s) {
:
: unordered_map mp;
: int ret = 0;
: int beg = 0;
:

p*****3
发帖数: 488
3

这么做要是被用java的人面就会说要优化一下,
问半天原来是用hashmap,这算啥优化,学乖了直接用hashmap了

【在 r**h 的大作中提到】
: 这思路不错,赞
: 我觉得hash直接用数组就可以了
: int hash[256];
: for(int i=0; i<256; i++) hash[i] = -1;

r**h
发帖数: 1288
4
晕。。。
我的理解是频繁的call成员函数不是开销更大了嘛,虽然空间上是省了一点儿不过256
个int也不是啥大事吧还是O(1)
看来和面试官思路不同真的挺悲剧的

【在 p*****3 的大作中提到】
:
: 这么做要是被用java的人面就会说要优化一下,
: 问半天原来是用hashmap,这算啥优化,学乖了直接用hashmap了

l********7
发帖数: 3
5
public static int find (String s){
Map hm = new HashMap();
char[] chars = s.toCharArray();
int length = 0;
for(int i = 0; i < chars.length; i++){
if (!hm.containsKey(chars[i])){
hm.put(chars[i], i);
length++;
}
else{
int tmp = i - hm.get(chars[i]);
if (tmp > length) length = tmp;
hm.put(chars[i], i);
}
}
return length;
}
z****e
发帖数: 54598
6
数组容易越界,而且不易维护,不易扩展
map可以写得很通俗易懂
比如
map.put(1,"1");
map.put(2,"2");
……
这样一串下来,傻子都能看懂
再比如同一个对象的重用,你要remove所有value
map.clear就搞定了,数组就要自己去实现了,多半要循环一下
而循环在多线程环境中极容易出一些并发修改的异常

256

【在 r**h 的大作中提到】
: 晕。。。
: 我的理解是频繁的call成员函数不是开销更大了嘛,虽然空间上是省了一点儿不过256
: 个int也不是啥大事吧还是O(1)
: 看来和面试官思路不同真的挺悲剧的

z****e
发帖数: 54598
7
写得很好
static,接口的使用,循环的定义,contiainsKey方法的使用
这些非常漂亮滴细节可以看出作者的水平
跟这样的程序猿一起干活,工作会比较愉快

【在 l********7 的大作中提到】
: public static int find (String s){
: Map hm = new HashMap();
: char[] chars = s.toCharArray();
: int length = 0;
: for(int i = 0; i < chars.length; i++){
: if (!hm.containsKey(chars[i])){
: hm.put(chars[i], i);
: length++;
: }
: else{

s*******e
发帖数: 1630
8
没明白,遇到有重复元素的时候,hm里边部分元素不用清掉?

【在 l********7 的大作中提到】
: public static int find (String s){
: Map hm = new HashMap();
: char[] chars = s.toCharArray();
: int length = 0;
: for(int i = 0; i < chars.length; i++){
: if (!hm.containsKey(chars[i])){
: hm.put(chars[i], i);
: length++;
: }
: else{

l********7
发帖数: 3
9
hm.put一个新value的以后旧的就被替换掉了。

【在 s*******e 的大作中提到】
: 没明白,遇到有重复元素的时候,hm里边部分元素不用清掉?
l********7
发帖数: 3
10
谢谢夸奖,那天刚好看见就写了一下。
我还在找工作啊

【在 z****e 的大作中提到】
: 写得很好
: static,接口的使用,循环的定义,contiainsKey方法的使用
: 这些非常漂亮滴细节可以看出作者的水平
: 跟这样的程序猿一起干活,工作会比较愉快

r**h
发帖数: 1288
11
谢谢建议
是不是说能用接口的时候用接口比较好呢?
比如说Queue, Map, Deque这些?

【在 z****e 的大作中提到】
: 写得很好
: static,接口的使用,循环的定义,contiainsKey方法的使用
: 这些非常漂亮滴细节可以看出作者的水平
: 跟这样的程序猿一起干活,工作会比较愉快

s*******e
发帖数: 1630
12
不行吧?例如 abcba 当读到第二个b的时候不应该把第一个a也清掉吗?这时候是从c开
始算最长的吧

【在 l********7 的大作中提到】
: hm.put一个新value的以后旧的就被替换掉了。
1 (共1页)
进入JobHunting版参与讨论
相关主题
问一个经典题目Leetcode- Longest Substring Without Repeating Characters 的 test case
请教一道题目amazon onsite 请教
G phone interviewMinimum Window Substring (from leetcode)
一道Google面试题,怎么做?(题目描述有误,已修改)longest substring without repeat
请教:这个10来行的leetcode程序有什么问题?新鲜出炉的Yelp面经[已更新]
那位大侠帮看看 Longest Substring Without Repeating Characters 这个为啥总是不对骑驴找马小结
LC Longest substr w/o rep charan interview question
(已解决,code错了) online judge 有的时候会有点小bug吗?问问题
相关话题的讨论汇总
话题: int话题: beg话题: ret话题: mp话题: chars