由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 这个是不是leetcode的bug?
相关主题
问面试一题: OOP 设计 for "Evaluate Reverse Polish Notation"请教一个binary tree问题
LeetCode上的runtime速度很不靠谱L 电面
关于leetcode的combinationSum题Polish Notation
Search for a Range - leetcodeHow to solve Evaluate Reverse Polish Notation using recursion?
问道题leetcode的题,关于bit运算的问一道fb的面试题目
问个最近面试里的题目2 Sigma的onsite面经
a problem from leetcode: high efficiency algorithm for combinations problemL面经 回报本版
Leetcode上stack相关的题目相比CC150题怎么那么少?Longest Valid Parenthesessleetcode中的online judge都报runtime error, 用本地编译器执行一些例子都ok
相关话题的讨论汇总
话题: tokens话题: int3话题: int1话题: int2话题: int
进入JobHunting版参与讨论
1 (共1页)
y*****3
发帖数: 451
1
Evaluate Reverse Polish Notation那道题,超级容易的,我在Eclipse上都run通了,
但是leetcode却过不了一个最简单的case。实在是不明觉厉。。。
Submission Result: Runtime Error
Last executed input: ["0","3","/"]
public class Solution {
public int evalRPN(String[] tokens) {
java.util.Stack sTokens = new java.util.Stack();
for(int i = 0; i < tokens.length; i++)
{
if (tokens[i] != "+" && tokens[i] != "-" && tokens[i] != "*" &&
tokens[i] != "/")
{
int currInt = Integer.parseInt(tokens[i]);
sTokens.push(currInt);
}
else
{
int int2 = sTokens.pop();
int int1 = sTokens.pop();
int int3 = 0;
if (tokens[i] == "+")
{
int3 = int1 + int2;
}
if (tokens[i] == "-")
{
int3 = int1-int2;
}
if (tokens[i] == "*")
{
int3 = int1 * int2;
}
if (tokens[i] == "/")
{
int3 = int1/int2;
}
sTokens.push(int3);
}
}
return sTokens.pop();
}
}
J****3
发帖数: 427
2
3/0 没有意义了吧是
对于 - 和 / 应该是 int2/ int1, int2-int1
y*****3
发帖数: 451
3
怎么可能呢,你再仔细看看,我这里是int2=3, int1=0, Eclipse上都通过的了

【在 J****3 的大作中提到】
: 3/0 没有意义了吧是
: 对于 - 和 / 应该是 int2/ int1, int2-int1

D******y
发帖数: 316
4
但是问题是lz设的int2是第一次pop,int1是第二次pop,所以order应该没问题。
anyway,我也是类似的code在eclips能return 0,在leetcode上面就是runtime error

【在 J****3 的大作中提到】
: 3/0 没有意义了吧是
: 对于 - 和 / 应该是 int2/ int1, int2-int1

D******y
发帖数: 316
5
搭车问一下,我有一次电面时候遇到这个题,interviewer指出两次pop()不好,大概意
思好像不要重复call一个function之类的我没太听懂,这是涉及到style得问题么?先
谢过了。
J****3
发帖数: 427
6
sorry 你是对的

【在 y*****3 的大作中提到】
: 怎么可能呢,你再仔细看看,我这里是int2=3, int1=0, Eclipse上都通过的了
J****3
发帖数: 427
7
真给跪了,不知道是啥问题

【在 J****3 的大作中提到】
: sorry 你是对的
s***e
发帖数: 403
8
其实可以优化一下。
只pop第一个,然后修改栈顶的数据。

【在 D******y 的大作中提到】
: 搭车问一下,我有一次电面时候遇到这个题,interviewer指出两次pop()不好,大概意
: 思好像不要重复call一个function之类的我没太听懂,这是涉及到style得问题么?先
: 谢过了。

d****n
发帖数: 397
9
class Solution {
public:
int evalRPN(vector &tokens) {
int n;
n=tokens.size();
return eval(tokens,0,n-1);
}

int eval(vector& tokens, int i, int j) {
int k,l,n,v1,v2,v,np,nn;
n=j-i+1;
np=0;
nn=0;
if(n==1) return stringtovalue(tokens[i]);
else {
for(l=j-1;l>=i;l--) {
if(tokens[l]=="+"||tokens[l]=="-"||tokens[l]=="*"||tokens[l]
=="/") np++;
else nn++;
if(nn==np+1) break;
}
v1=eval(tokens,i,l-1);
v2=eval(tokens,l,j-1);
if(tokens[j]=="+") return v1+v2;
else if(tokens[j]=="-") return v1-v2;
else if(tokens[j]=="*") return v1*v2;
else return v1/v2;
}
}

int stringtovalue(string s) {
int v,n,i;
n=s.size();
v=0;
if(s[0]=='-') {
for(i=1;i v=v*10+(s[i]-'0');
}
v=-v;
}
else {
for(i=0;i v=v*10+(s[i]-'0');
}
}
return v;
}
};

&

【在 y*****3 的大作中提到】
: Evaluate Reverse Polish Notation那道题,超级容易的,我在Eclipse上都run通了,
: 但是leetcode却过不了一个最简单的case。实在是不明觉厉。。。
: Submission Result: Runtime Error
: Last executed input: ["0","3","/"]
: public class Solution {
: public int evalRPN(String[] tokens) {
: java.util.Stack sTokens = new java.util.Stack();
: for(int i = 0; i < tokens.length; i++)
: {
: if (tokens[i] != "+" && tokens[i] != "-" && tokens[i] != "*" &&

C*******n
发帖数: 24
10
You should use string.equals("+"); NOT ==
Then you can pass it.
h*********o
发帖数: 230
11
你不能用 “==”
要用 equals()
替换一下就通过了

&

【在 y*****3 的大作中提到】
: Evaluate Reverse Polish Notation那道题,超级容易的,我在Eclipse上都run通了,
: 但是leetcode却过不了一个最简单的case。实在是不明觉厉。。。
: Submission Result: Runtime Error
: Last executed input: ["0","3","/"]
: public class Solution {
: public int evalRPN(String[] tokens) {
: java.util.Stack sTokens = new java.util.Stack();
: for(int i = 0; i < tokens.length; i++)
: {
: if (tokens[i] != "+" && tokens[i] != "-" && tokens[i] != "*" &&

y*****3
发帖数: 451
12
啊。。。又忘了,谢谢楼上各位!!写惯了C#了,真是不习惯java的各种烂。从syntax
到API,从compiler到IDE。。。和C#比,java简直就是一个大屎坑...待我忙过这阵子
,好好写个帖子总结下java的各种烂。。
l*n
发帖数: 529
13
库函数不一定支持直接改数据吧。这种优化肯定算micro-optimization了。

【在 s***e 的大作中提到】
: 其实可以优化一下。
: 只pop第一个,然后修改栈顶的数据。

1 (共1页)
进入JobHunting版参与讨论
相关主题
sleetcode中的online judge都报runtime error, 用本地编译器执行一些例子都ok问道题leetcode的题,关于bit运算的
interview quiz问个最近面试里的题目
leetcode 3sum runtime 一問a problem from leetcode: high efficiency algorithm for combinations problem
leetcode pow runtime error??Leetcode上stack相关的题目相比CC150题怎么那么少?Longest Valid Parentheses
问面试一题: OOP 设计 for "Evaluate Reverse Polish Notation"请教一个binary tree问题
LeetCode上的runtime速度很不靠谱L 电面
关于leetcode的combinationSum题Polish Notation
Search for a Range - leetcodeHow to solve Evaluate Reverse Polish Notation using recursion?
相关话题的讨论汇总
话题: tokens话题: int3话题: int1话题: int2话题: int