avatar
hows CRIC# Stock
c*r
1
给了20分钟在线写代码打印下面的三角,写的乱七八糟,唉,还得多写简单代码
1
2 2
3 4 3
4 7 7 4
avatar
a*y
2
i bought a little, but not sure its trend.
avatar
w*s
3
leetcode原题吧
avatar
w*s
4
哦,看错了,貌似是原题的变体
avatar
w*s
5
patpat了,楼主多做题肯定能过的,现在市场是很好的
avatar
s*u
6
杨辉三角形吧。是不是存一个prevlist,然后curlist一边赋值一边打印?有点像bfs
avatar
w*e
7
一个list就能搞定吧,从右往左update。

【在 s********u 的大作中提到】
: 杨辉三角形吧。是不是存一个prevlist,然后curlist一边赋值一边打印?有点像bfs
avatar
s*u
8
嗯 有道理。
但是打印就麻烦一点,要再从左到右遍历list一遍。
最近发现一个规律,就是size变大的话,就先resize再倒序赋值;
如果size变小,就先顺序赋值再resize。

【在 w*****e 的大作中提到】
: 一个list就能搞定吧,从右往左update。
avatar
p*2
9
(defn f [l]
(defn- dfs [xs pre next layer]
(cond
(<= layer 0) nil
(empty? xs)
(let [n (cons (inc pre) next)]
(println n)
(dfs n 1 () (dec layer)))
:default
(let [curr (first xs)]
(dfs (rest xs) curr (cons (+ pre curr) next) layer))))
(dfs () 0 () l))
avatar
c*r
10
要求java实现,开头问了好几个LinkedList / ArrayList的问题,莫非要用这些现成的
类去实现?我是写了一段for loop加if-else的,可能人家看着不够简洁
avatar
s*u
11
用数组也可以啊,只是稍微麻烦点,要考虑resize的问题。

【在 c*******r 的大作中提到】
: 要求java实现,开头问了好几个LinkedList / ArrayList的问题,莫非要用这些现成的
: 类去实现?我是写了一段for loop加if-else的,可能人家看着不够简洁

avatar
D*d
12
void PrintTriangle(int n){
vector list(n,1);
for(int i = 0; i < n; ++i){
for(int j = i; j > 0; --j) list[j] += list[j-1];
list[0] = i+1;
for(int j = 0; j <= i; ++j) cout << list[j];
cout << endl;
}
}
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。