找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6658|回复: 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 编辑 - n9 V$ x, p: ~# d  n

5 n1 a+ j$ H) mFind the maximum consecutive 1's in an array of 0's and 1's.% `0 _) r; G( q+ s. [! d7 T
Example: ; l1 P7 F, h) U' V$ D2 P, E5 j( W
a) 00110001001110 - Output :3 [Max num of consecutive 1's is 3]2 i) k8 ~4 z7 ~' h; t5 p
b) 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). P8 I" O) ~0 k: V( y3 Q
	public static int maxNumberOf1s(String str) {
3 Q; L' f& C0 c		if (null == str || str.isEmpty() || !str.contains("1")) {
: Z! A6 B7 o# |1 {. V			return 0;- A! m) x6 D( U' P4 _2 ~
		}, A2 M# }9 ~4 o. l' w' g' O9 x
		int count = 0;$ J: W5 q8 P8 b; t2 b8 ^" E# A2 h
		int curCount = 0;
) n. O( ~. e- u! h8 q' e- {		for (int i = 0; i < str.length(); i++) {1 D$ d2 D! S6 X/ e( j- @3 t7 O
			if (str.charAt(i) == '1') {  R. Y4 G' H/ b& }* ^0 t4 S" n
				if (curCount == 0) {5 }5 f. Y; T! r
					curCount = 1;9 c8 J& q5 [$ A' L* X' |
				} else {
1 |& ~9 ?9 l) F, C& K					curCount++;
' p6 v( _& r* f" F. h				}$ k, M- j5 J8 o: ~9 b
				count = Math.max(curCount, count);
& K, U1 m+ E9 {# ?* k. L$ L1 U			} else {$ v1 B' y( h8 x5 H* y6 i  {% J
				curCount = 0;2 B7 X3 B+ f2 r( R( f: w
			}
: J3 z- U0 f' c& X1 x% B		}
0 K+ u2 y& \& z7 E$ T
- g; w: e9 a' b" X		return count;
; I! A, a2 ^9 @! J5 G6 k) B	}

回复 支持 反对

使用道具 举报

1141

主题

171

精华

3486

积分

神级会员

Rank: 7Rank: 7Rank: 7

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

Please check the following code.

public class Consecutive01 {9 H% L2 w' E8 T7 a
    
7 W. i! P, z; ^3 J    static int[] a= {0,1,1,0,0,0,1,1,0,0,1,0};3 r6 a7 T) G& I- E) d
    
4 ]6 a) m8 v6 P$ V    public static void main(String[] args) {1 m# u+ j4 A# S# `; g" N6 _8 K
        int sum = 0;
- }1 g2 G- l( b  }# C        int max  = 0 ;
; Q5 {* ]* p  _5 w0 C2 o" ]        for(int i = 0 ; i< a.length ; i++){# ?2 y  w& Y; n" m
           if(a[i] == 0){
7 }! }6 I- X6 L# G  j' I+ `               sum = 0;
7 J0 t$ N7 C) G+ M* f" X- e           } else {
4 A0 u( J+ l2 F3 ~( T               sum++;% X  i% d$ x" h; Z3 {
               if(sum > max)1 s2 ~% Q  q0 S" V4 n
                   max = sum;
: K" K! d* c  R0 a8 D8 U2 l5 g' N           }
- c. `$ I# k* j6 t; _8 o: e        }  W% u2 w" S$ ]: ], d/ Z
        1 P$ C" c  q% |$ Q1 l5 Y* Q! l1 Q, t1 q
        System.out.println("Max consecutive 1s is: "+max);
4 k) h+ J0 T+ Q. c, {    }! i$ [8 j, R/ l; e3 `/ k! t5 T
    
7 {7 @3 ^5 O  }: z; g) e* A4 h* r" L0 q}

回复 支持 反对

使用道具 举报

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

本版积分规则

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