Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
// finally change the color
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
window.setStatusBarColor(Color.parseColor("#c2212a"));
}
此函数假设找到2个列表之间的最长公共前缀。因此,当我输入'(1 2)和'(1 2 3)时,我应该得到'(1 2)。但是,当我跑(长'(1 2)'(1 2 3))时,我得到((1 2)(2))。当我通过我的代码回溯我的步骤时,我似乎无法找到问题。有人可以帮我找到问题吗?
谢谢。
答案 0 :(得分:0)
一个简单的解决方案如下:
(define (long a b)
(cond ((null? a) '())
((null? b) '())
((equal? (car a) (car b)) (cons (car a) (long (cdr a) (cdr b))))
(else '())))
当列表终止时,前缀是空列表;如果两个car
都相等,则结果是带有汽车的列表和列表cdr
的最长前缀。否则,第一个元素的列表不同,因此结果是空列表。
答案 1 :(得分:0)
可以在这里使用带有条件的'for / list'循环:
column-width
输出:
container