找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6830|回复: 22
收起左侧

[Amazon] 亚麻QA工程师面经

[复制链接]

1174

主题

170

精华

3587

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3587
发表于 2-2-2017 09:10 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Sophia 于 2-2-2017 10:15 PM 编辑
7 V3 w: b3 Z6 ^5 g) [: [# r; e1 w6 y
Find the maximum consecutive 1's in an array of 0's and 1's.  d, ~! W% f$ |" v
Example: 9 E  L% s) m: i: H
a) 00110001001110 - Output :3 [Max num of consecutive 1's is 3]
* I/ Y: g3 m. k  ub) 1000010001  - Output :1 [Max num of consecutive 1's is 1]

1154

主题

153

精华

3407

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3407
发表于 2-2-2017 09:10 PM | 显示全部楼层

// Time :O(n), Space :O(1)$ O- z; K9 z5 {4 M
	public static int maxNumberOf1s(String str) {8 |+ z/ |9 k% w! |
		if (null == str || str.isEmpty() || !str.contains("1")) {
9 O, U* R6 l) n' e! z  ^+ d3 R			return 0;3 q9 `! {$ i/ W/ n" N
		}" W  ]+ c" p3 t) i! O: s; r
		int count = 0;
  n4 r( m: ^/ T' {7 y. R( v( n7 n  l		int curCount = 0;3 {+ y0 r- Y" g- g/ u: w/ e
		for (int i = 0; i < str.length(); i++) {
2 u0 ]# Q$ _- k( T) M" T			if (str.charAt(i) == '1') {3 H  U& ]5 Z# H" z
				if (curCount == 0) {, A7 W. `! M; }9 e. c1 z
					curCount = 1;( ~5 x% _. e5 d! j$ y+ L+ q7 I
				} else {
  b8 B( k8 {- Q) N0 h5 ]					curCount++;
) n) f) p7 z& W( O				}
. I8 ]( H& c- @! U4 Z				count = Math.max(curCount, count);3 V3 i+ h9 Q0 o9 B
			} else {
* @1 U' x- C! B3 z9 ]0 J				curCount = 0;2 q. i9 [8 b, W. N0 ^* F
			}% _3 O5 q2 g! ?( E$ _  Y& B5 z2 q# W
		}
  _; U9 c6 d* N1 l( W, F; X7 k' I: L* W, T/ Q6 M) v
		return count;) e, i5 Z6 w, b- T4 ^+ X, k
	}

回复 支持 反对

使用道具 举报

1141

主题

171

精华

3486

积分

神级会员

Rank: 7Rank: 7Rank: 7

积分
3486
发表于 2-2-2017 09:10 PM | 显示全部楼层

Please check the following code.

public class Consecutive01 {, |% w+ n0 a) R# l' O& S. c
    
& w) S) N9 ^4 ~6 m    static int[] a= {0,1,1,0,0,0,1,1,0,0,1,0};: C5 `! m. J; M8 L, F, _7 y8 N0 X. \+ ?
    
- }$ Q/ }; n2 h& V    public static void main(String[] args) {) z9 v& D" R; ]5 @
        int sum = 0;
" F6 g! [& ^0 {' n+ D3 o% K7 B, o        int max  = 0 ;
7 u, D5 l. I, B' M, ~) y: g        for(int i = 0 ; i< a.length ; i++){
# W% I  u& [5 S" e. b4 O3 f' ?5 s           if(a[i] == 0){
  B6 H* g2 P, o4 ?3 L# O3 {$ X               sum = 0;
% }: c) A0 R( W% I  ?& }8 P3 ^           } else {* l4 f9 z; F9 k( V1 s. W
               sum++;
$ X7 ]8 J, v7 K               if(sum > max)
1 f8 m0 i! ?' p/ [6 @                   max = sum;( {3 A0 }( |8 [1 U7 \3 F
           }4 S. \5 @7 d2 }# q
        }2 N- V; w! }( k9 N9 e7 @! }& K) _
          T% @, x# H! C6 r
        System.out.println("Max consecutive 1s is: "+max);+ `1 Y2 m4 T+ i0 t0 I; d8 l
    }( k5 E# x/ w- O8 A
    
; l- {2 F, E/ a( l1 R5 {% S}

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表