s*l
10 楼
这个解释好 很形象~
https://leetcode.com/discuss/48477/a-recursive-java-solution-284-ms
【在 l******s 的大作中提到】
: 想象一下用手去挨个提溜中间的操作符,每次提溜出一个二叉树。
https://leetcode.com/discuss/48477/a-recursive-java-solution-284-ms
【在 l******s 的大作中提到】
: 想象一下用手去挨个提溜中间的操作符,每次提溜出一个二叉树。
j*3
11 楼
谢谢!
【在 s********l 的大作中提到】
: 这个解释好 很形象~
: https://leetcode.com/discuss/48477/a-recursive-java-solution-284-ms
【在 s********l 的大作中提到】
: 这个解释好 很形象~
: https://leetcode.com/discuss/48477/a-recursive-java-solution-284-ms
j*3
12 楼
这个题有点像那个 unique binary search tree, 是不?
【在 s********l 的大作中提到】
: 这个解释好 很形象~
: https://leetcode.com/discuss/48477/a-recursive-java-solution-284-ms
【在 s********l 的大作中提到】
: 这个解释好 很形象~
: https://leetcode.com/discuss/48477/a-recursive-java-solution-284-ms
k*a
13 楼
加括号相当于进出栈的顺序,和二叉树树木是一样的,叫什么卡特兰数
https://zh.wikipedia.org/wiki/%E5%8D%A1%E5%A1%94%E5%85%B0%E6%95%B0
【在 j**********3 的大作中提到】
: 这个题有点像那个 unique binary search tree, 是不?
https://zh.wikipedia.org/wiki/%E5%8D%A1%E5%A1%94%E5%85%B0%E6%95%B0
【在 j**********3 的大作中提到】
: 这个题有点像那个 unique binary search tree, 是不?
p*2
15 楼
boolean isOp(char c){
return c == '+' || c == '-' || c == '*';
}
int cal(char c, int x, int y){
switch(c) {
case '+':
return x+y;
case '-':
return x-y;
case '*':
return x*y;
default:
return -1;
}
}
List
List
for(int i=s; i
if(isOp(c)){
List
List
for(int x: left){
for(int y: right){
al.add(cal(c, x, y));
}
}
}
}
if(al.size()==0){
al.add(Integer.parseInt(input.substring(s,e)));
}
return al;
}
public List
return dfs(input, 0, input.length());
}
【在 j**********3 的大作中提到】
: 校长给点思路吧
o*y
17 楼
dp?
[在 lolhaha (长期骑驴,一直找马) 的大作中提到:]
:怎么解决输入太长,call stack overflow的问题呢?
:请校长指点
:...........
[在 lolhaha (长期骑驴,一直找马) 的大作中提到:]
:怎么解决输入太长,call stack overflow的问题呢?
:请校长指点
:...........
r*n
18 楼
Scala code, not tested
object Parenthesis {
def main(args: Array[String]) {
val ret = constructTree("1+3*5")
println("start")
ret.foreach(println)
}
def wrap(c: Char): (Int, Int)=>Int = {
c match {
case '+' => (x, y) => x + y
case '-' => (x, y) => x - y
case '*' => (x, y) => x * y
}
}
def constructTree(input: String): Array[Int] = {
var split = false
var ret = (0 until input.length).flatMap{ idx =>
input(idx) match {
case '+' | '-' | '*' =>
split = true
val (left, right) = (constructTree(input.substring(0, idx)),
constructTree(input.substring(idx + 1, input.length)))
for{
l r } yield wrap(input(idx))(l, r)
case _ =>
Array.empty[Int]
}
}.toArray
if (!split){
ret = Array.fill(1)(input.toInt)
}
ret
}
}
object Parenthesis {
def main(args: Array[String]) {
val ret = constructTree("1+3*5")
println("start")
ret.foreach(println)
}
def wrap(c: Char): (Int, Int)=>Int = {
c match {
case '+' => (x, y) => x + y
case '-' => (x, y) => x - y
case '*' => (x, y) => x * y
}
}
def constructTree(input: String): Array[Int] = {
var split = false
var ret = (0 until input.length).flatMap{ idx =>
input(idx) match {
case '+' | '-' | '*' =>
split = true
val (left, right) = (constructTree(input.substring(0, idx)),
constructTree(input.substring(idx + 1, input.length)))
for{
l r } yield wrap(input(idx))(l, r)
case _ =>
Array.empty[Int]
}
}.toArray
if (!split){
ret = Array.fill(1)(input.toInt)
}
ret
}
}
相关阅读
probation阶段,还有面试怎么处理?电面过HM后要去onsite,还有啥问题可以问HM?Amazon said 3rd phone, but ..这个可能是个什么职位?这个情况很玄妙如果OPT Ext还没有批但想换工作了,是否应申请加急?上週五面的Amazon大家onsite前一天做什么VSC的OPT现在怎么这么慢~HR电话screen,太紧张了,后来这么说是客套么?H1b->F1->H1b紧急求救!!!!!!!!!这个rotated sorted array问题电面多久会有on-site通知OPT pending的时候能改地址吗?急问h1b的有效期限uscis 又down了,希望这次我在更新之列!有谁了解Accutest Laboratories这个公司有人了解 ROTH ACCOUNT 吗?Does barclay only have one hire manager in NYC?onsite后要等一个月。