Redian新闻
>
Let the DTs & frogs play their games
avatar
Let the DTs & frogs play their games# Stock
j*6
1
当成全局变量放在函数外面? private final Map memorized = new HashMap, V>()?
还是当做函数的变量传进去,然后随着递归调用一直传下去? 比如题目的 signature是
public Type solution(T t){
Map memorized = new HashMap();
return solution1(t, memorized);
}
private Type solution1(T t, Map memorized){
}
或者有什么更好的办法? 总觉得当成全局变量比较难看 有点像 "academic code",
但是放在参数中传下去会不会影响performance? 或者其他问题?
先谢过给位大牛~
avatar
W*n
2
Big boys know what they are doing
I just watch
hahaha
avatar
t*r
3
当变量传下去
avatar
s*o
4
MBI好象每轮都有第二波,我等
avatar
y*n
5
should by fine if you pass by reference
avatar
p*3
6

signature是

全局变量不大好吧,我的话一般会用一个wrapper函数和一个helper函数,helper传在
wrapper里创建的map

【在 j*********6 的大作中提到】
: 当成全局变量放在函数外面? private final Map memorized = new HashMap: , V>()?
: 还是当做函数的变量传进去,然后随着递归调用一直传下去? 比如题目的 signature是
: public Type solution(T t){
: Map memorized = new HashMap();
: return solution1(t, memorized);
: }
: private Type solution1(T t, Map memorized){
: }
: 或者有什么更好的办法? 总觉得当成全局变量比较难看 有点像 "academic code",

avatar
j*6
7
求三爷给个 代码 作为例子

【在 p*****3 的大作中提到】
:
: : signature是
: ,
: 全局变量不大好吧,我的话一般会用一个wrapper函数和一个helper函数,helper传在
: wrapper里创建的map

avatar
l*n
8
// wrapper
public boolean doable(String s) {
int[] memo=new int[s.length()+1];
Arrays.fill(memo, -1);
return doable(s, 0, memo)==1;
}
// helper
int doable(String s, int i, int[] memo) {
......
if (memo[i+1]==-1) memo[i+1] = doable(s, i+1, memo);
......
}

【在 j*********6 的大作中提到】
: 求三爷给个 代码 作为例子
avatar
j*6
9
thx!

【在 l*n 的大作中提到】
: // wrapper
: public boolean doable(String s) {
: int[] memo=new int[s.length()+1];
: Arrays.fill(memo, -1);
: return doable(s, 0, memo)==1;
: }
: // helper
: int doable(String s, int i, int[] memo) {
: ......
: if (memo[i+1]==-1) memo[i+1] = doable(s, i+1, memo);

avatar
M*a
10
global吧
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。