S*6
2 楼
一道很简单的leetcode 题目: Reverse Words in a String III
我的解法(c#)一直被报 Memory Limit Exceeded 错误。谁知道如何改进? 多谢了先
。:)
public class Solution {
public string ReverseStr(string str)
{
if(str.Length < 2) return str;
int i = str.Length-1;
string resS = null;
while(i >= 0)
{
resS += str[i--];
}
return resS;
}
public string ReverseWords(string s) {
string result = null;
if(s.Length < 2) return s;
int i = 0;
int idxS = 0;
while(i < s.Length)
{
while( idxS < s.Length && s[idxS] != ' ')
{
idxS++;
}
result += ReverseStr(s.Substring(i, idxS-i));
if(idxS != s.Length) result += ' ';
idxS++;
i = idxS;
}
return result;
}
}
我的解法(c#)一直被报 Memory Limit Exceeded 错误。谁知道如何改进? 多谢了先
。:)
public class Solution {
public string ReverseStr(string str)
{
if(str.Length < 2) return str;
int i = str.Length-1;
string resS = null;
while(i >= 0)
{
resS += str[i--];
}
return resS;
}
public string ReverseWords(string s) {
string result = null;
if(s.Length < 2) return s;
int i = 0;
int idxS = 0;
while(i < s.Length)
{
while( idxS < s.Length && s[idxS] != ' ')
{
idxS++;
}
result += ReverseStr(s.Substring(i, idxS-i));
if(idxS != s.Length) result += ' ';
idxS++;
i = idxS;
}
return result;
}
}
y*u
4 楼
这都搞不定,楼主没希望了, 不太适合刷题,干点别的吧
t*r
6 楼
别理2楼的,哪有人天生什么都会。多刷题,多问问题,多看文章,多写代码,自然就
会提高了。
我对c#不熟悉,但是看你的算法没啥问题,估计就是string拷贝的问题了。我改了一下
,用stringbuilder代替string,并且减少了不必要的拷贝,你看看吧。
public class Solution {
public string ReverseWords(string s) {
StringBuilder result = new StringBuilder();
if(s.Length < 2) return s;
int i = 0;
int idxS = 0;
while(i < s.Length)
{
while( idxS < s.Length && s[idxS] != ' ')
{
idxS++;
}
for (int j = idxS - 1; j >= i; j--) {
result.Append(s[j]);
}
if(idxS != s.Length) result.Append(' ');
idxS++;
i = idxS;
}
return result.ToString();
}
}
会提高了。
我对c#不熟悉,但是看你的算法没啥问题,估计就是string拷贝的问题了。我改了一下
,用stringbuilder代替string,并且减少了不必要的拷贝,你看看吧。
public class Solution {
public string ReverseWords(string s) {
StringBuilder result = new StringBuilder();
if(s.Length < 2) return s;
int i = 0;
int idxS = 0;
while(i < s.Length)
{
while( idxS < s.Length && s[idxS] != ' ')
{
idxS++;
}
for (int j = idxS - 1; j >= i; j--) {
result.Append(s[j]);
}
if(idxS != s.Length) result.Append(' ');
idxS++;
i = idxS;
}
return result.ToString();
}
}
n*s
8 楼
如果逻辑对的话,可能是边界没搞好,自己画个图或者debug一下
n*s
10 楼
这种面试人不允许你直接split然后掉个次序return?
S*6
12 楼
这个方法果然可以,多谢多谢!
【在 t*********r 的大作中提到】
: 别理2楼的,哪有人天生什么都会。多刷题,多问问题,多看文章,多写代码,自然就
: 会提高了。
: 我对c#不熟悉,但是看你的算法没啥问题,估计就是string拷贝的问题了。我改了一下
: ,用stringbuilder代替string,并且减少了不必要的拷贝,你看看吧。
: public class Solution {
: public string ReverseWords(string s) {
: StringBuilder result = new StringBuilder();
: if(s.Length < 2) return s;
: int i = 0;
: int idxS = 0;
【在 t*********r 的大作中提到】
: 别理2楼的,哪有人天生什么都会。多刷题,多问问题,多看文章,多写代码,自然就
: 会提高了。
: 我对c#不熟悉,但是看你的算法没啥问题,估计就是string拷贝的问题了。我改了一下
: ,用stringbuilder代替string,并且减少了不必要的拷贝,你看看吧。
: public class Solution {
: public string ReverseWords(string s) {
: StringBuilder result = new StringBuilder();
: if(s.Length < 2) return s;
: int i = 0;
: int idxS = 0;
d*g
16 楼
刷了几道了啊
[在 Sophie06 (Sophie) 的大作中提到:]
:的确是因为自己写的code不够简练,不必要地占用了memory。多谢回复
[在 Sophie06 (Sophie) 的大作中提到:]
:的确是因为自己写的code不够简练,不必要地占用了memory。多谢回复
y*u
18 楼
忠言逆耳,大家都不愿意听实话。楼主这个状态,水平的增长根本赶不上面试bar的增
长速度,与其花大力气做题,还不如figure something else
【在 t*********r 的大作中提到】
: 别理2楼的,哪有人天生什么都会。多刷题,多问问题,多看文章,多写代码,自然就
: 会提高了。
: 我对c#不熟悉,但是看你的算法没啥问题,估计就是string拷贝的问题了。我改了一下
: ,用stringbuilder代替string,并且减少了不必要的拷贝,你看看吧。
: public class Solution {
: public string ReverseWords(string s) {
: StringBuilder result = new StringBuilder();
: if(s.Length < 2) return s;
: int i = 0;
: int idxS = 0;
长速度,与其花大力气做题,还不如figure something else
【在 t*********r 的大作中提到】
: 别理2楼的,哪有人天生什么都会。多刷题,多问问题,多看文章,多写代码,自然就
: 会提高了。
: 我对c#不熟悉,但是看你的算法没啥问题,估计就是string拷贝的问题了。我改了一下
: ,用stringbuilder代替string,并且减少了不必要的拷贝,你看看吧。
: public class Solution {
: public string ReverseWords(string s) {
: StringBuilder result = new StringBuilder();
: if(s.Length < 2) return s;
: int i = 0;
: int idxS = 0;
d*x
20 楼
lz加油,天道酬勤,肯花时间,没有什么不可能的。
l*s
21 楼
okc太吵了,我耳朵都聋了
u*u
23 楼
刚开始都这样,多练习就好。
编程就是慢慢才上手
要多花时间就是了
编程就是慢慢才上手
要多花时间就是了
s*r
24 楼
你们太损了
慢慢来总会好的
慢慢来总会好的
S*6
27 楼
非常感谢各位的友情提醒。忠言逆耳也好,提供更好的解决方法也罢,俺全部都接受。
在这里尤其要感谢 twinsclover ,其实我真的不太习惯用stringBuilder...
不过倒是真的提醒我应该加强基本功(细节把握)的练习。
在这里尤其要感谢 twinsclover ,其实我真的不太习惯用stringBuilder...
不过倒是真的提醒我应该加强基本功(细节把握)的练习。
Q*F
30 楼
要对lz多鼓励,从业中国人越多越好。
d*x
31 楼
我看过不少职场新人开始很弱,经过努力得到质的飞跃的。来美国的一般资质都不会太
差的,只要肯努力,一切皆有可能。
士别三日当刮目相看,这三日里挥洒的当全是汗水。
lz加油!
差的,只要肯努力,一切皆有可能。
士别三日当刮目相看,这三日里挥洒的当全是汗水。
lz加油!
c*e
32 楼
这道题应该是任何语言的教科书都会有的一道例题。楼主那么辛苦码了那么多还出错,
干嘛不曲翻翻书,看些经典的CODE.
干嘛不曲翻翻书,看些经典的CODE.
k*u
33 楼
楼主加油吧!为什么要用C# 刷题? 能用C#的估计只有微软 和 不需要刷题的公司了
z*0
34 楼
不会C#
不过利扣过不去好像会报那个case的,我一般就拿到IDE里写个test unit 设断点,一
点点跟到那个bug的地方再改
(我知道用IDE打死。。。。但是白板一行行看错误 一会我就神经错乱了。。。)
你也可以在IDE设断点 一点点跟 然后慢慢脱离IDE 比靠眼睛看找bug快一些
话说。。为啥你用C#刷题呢?
不过利扣过不去好像会报那个case的,我一般就拿到IDE里写个test unit 设断点,一
点点跟到那个bug的地方再改
(我知道用IDE打死。。。。但是白板一行行看错误 一会我就神经错乱了。。。)
你也可以在IDE设断点 一点点跟 然后慢慢脱离IDE 比靠眼睛看找bug快一些
话说。。为啥你用C#刷题呢?
z*0
35 楼
顺便 新手借宝地问问版上有经验的前辈,传闻说用Python code会被鄙视? 不知道真
假??
C++/Python新手在纠结到底拿哪个刷呢。。因为我都不熟悉,我用哪个都一样。。。
我担忧的是人家都说"没人'会'C++" 因为C++能问的东西太多太多,随便延伸一点都问
出花了~~ 可是我没用C++做过项目,就是学校 intro level的水平
但毕竟楼主这道题,用Python 一行就写完了。。。。
return ' '.join([sub.strip[::-1] for sub in s.strip().split(' ')])
谢谢!
假??
C++/Python新手在纠结到底拿哪个刷呢。。因为我都不熟悉,我用哪个都一样。。。
我担忧的是人家都说"没人'会'C++" 因为C++能问的东西太多太多,随便延伸一点都问
出花了~~ 可是我没用C++做过项目,就是学校 intro level的水平
但毕竟楼主这道题,用Python 一行就写完了。。。。
return ' '.join([sub.strip[::-1] for sub in s.strip().split(' ')])
谢谢!
z*0
36 楼
顺便 新手借宝地问问版上有经验的前辈,传闻说用Python code会被鄙视? 不知道真
假??
C++/Python新手在纠结到底拿哪个刷呢。。因为我都不熟悉,我用哪个都一样。。。
我担忧的是人家都说"没人'会'C++" 因为C++能问的东西太多太多,随便延伸一点都问
出花了~~ 可是我没用C++做过项目,就是学校 intro level的水平
但毕竟楼主这道题,用Python 一行就写完了。。。。
return ' '.join([sub.strip[::-1] for sub in s.strip().split(' ')])
谢谢!
假??
C++/Python新手在纠结到底拿哪个刷呢。。因为我都不熟悉,我用哪个都一样。。。
我担忧的是人家都说"没人'会'C++" 因为C++能问的东西太多太多,随便延伸一点都问
出花了~~ 可是我没用C++做过项目,就是学校 intro level的水平
但毕竟楼主这道题,用Python 一行就写完了。。。。
return ' '.join([sub.strip[::-1] for sub in s.strip().split(' ')])
谢谢!
u*n
37 楼
面试用Java
逼格高用Go
逼格高用Go
s*g
38 楼
用java
我当时就是哪个都差不多,坚决用java学起
c++面试太容易掉坑里了
python真有面试官会挑的,一般好面试官不会有这问题,但这事儿看运气。我有朋友就
遇到过
java面试最好用
【在 z**********0 的大作中提到】
: 顺便 新手借宝地问问版上有经验的前辈,传闻说用Python code会被鄙视? 不知道真
: 假??
: C++/Python新手在纠结到底拿哪个刷呢。。因为我都不熟悉,我用哪个都一样。。。
: 我担忧的是人家都说"没人'会'C++" 因为C++能问的东西太多太多,随便延伸一点都问
: 出花了~~ 可是我没用C++做过项目,就是学校 intro level的水平
: 但毕竟楼主这道题,用Python 一行就写完了。。。。
: return ' '.join([sub.strip[::-1] for sub in s.strip().split(' ')])
: 谢谢!
我当时就是哪个都差不多,坚决用java学起
c++面试太容易掉坑里了
python真有面试官会挑的,一般好面试官不会有这问题,但这事儿看运气。我有朋友就
遇到过
java面试最好用
【在 z**********0 的大作中提到】
: 顺便 新手借宝地问问版上有经验的前辈,传闻说用Python code会被鄙视? 不知道真
: 假??
: C++/Python新手在纠结到底拿哪个刷呢。。因为我都不熟悉,我用哪个都一样。。。
: 我担忧的是人家都说"没人'会'C++" 因为C++能问的东西太多太多,随便延伸一点都问
: 出花了~~ 可是我没用C++做过项目,就是学校 intro level的水平
: 但毕竟楼主这道题,用Python 一行就写完了。。。。
: return ' '.join([sub.strip[::-1] for sub in s.strip().split(' ')])
: 谢谢!
相关阅读
想relocate到LD的城市,求建议Anyone knows about Brion ?Technical writing具體指什麼?[合集] OPT extension期间失业怎么办?郁闷,面试难在要赢所有的其他候选人公司联系人不回我EMAIL是怎么回事呢?OPT问题请教关于猎头的问题Onsite临时被取消,说是freezing hiring,会是借口吗?【求教】面试fail掉,问题如何最佳回答?在美国混就不要避讳洋文!OPT-H1b Gap需要更新I-20Which of these companies have more Indian ? AFGMT[面经]生物fresh Ph.D找博后(业界/学术)[合集] 问一个H1B/LCA的问题,多谢啦[合集] 传Zynga上市前强迫部分早期员工返还股票今天突然想写这个:位运算题目总结请教有入职过CCC/ICC的么?OPT时间等不起[合集] 晒晒五个普通CS小硕不尽相同的求职经历,写在H1b结束之后.略长.请教一下接不接这个offer?