|
亲!马上注册或者登录会查看更多内容!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
 : w/ ~9 G0 D% C
贴下第一题我的算法:1 y/ t) H( Y% }
public static int solution(int[] A, int X, int D) {' X/ u# k" S7 e9 n
// write your code in Java SE 8) W4 ^& X& [. R0 W2 s% ~/ Y5 l" p
HashSet visit = new HashSet();4 g8 g ~$ N5 }, A$ R# z
visit.add(0);
0 ~' l* a0 q# Y visit.add(X);1 i! Q) l0 Y1 U- J7 ?' R
for(int t=0;t# X8 _" `9 V. {1 C& | `
int i = A[t];6 l2 `/ A' p- Q% w! n" b
if(!visit.contains(i)){' ^' i6 n& }( f! r1 Z5 f* T1 u
visit.add(i);
, W9 C! q5 G, c for(int j=i-D;j5 O/ Y1 x* w' s7 ^8 l; E# ? i8 w
if(visit.contains(j)){
5 i! x# E# c0 Z$ d# Q2 H for(int k=j;k
! n1 Y1 G0 u# N/ {2 D. b visit.add(k);
2 `/ J5 |5 w4 w, |- _; Y! L5 w }
( i, Y9 ]' r, Y- c: _+ l& s }, B4 N! _6 u& F& x3 H) Q* C2 N
}# V* j' \5 A" j- K1 A- t
for(int j=i+1;j<=i+D;j++){' \ O: _4 A9 [0 L: M: N. u
if(visit.contains(j)){
3 t3 ~5 h; A" F+ @7 M; r for(int k=i+1;k<=j;k++){
/ B, q' M7 s4 \" |: T visit.add(k);
) a% f4 g. S2 K- T& ~ }2 r/ ]8 p# a: [
}
2 z3 R7 ^) M) j+ r6 K8 x! K( l& q4 ~ }2 s# b! p8 R- `
if(visit.size()==X+1){# I. c3 j Z8 M1 x% D6 o) }$ t
return t;
5 z) H/ C h" [9 d1 A7 E2 f0 O, W }" o1 {# \$ n4 b/ F: u/ |
}8 Y0 t3 _) X6 ]7 b
}
4 H' n; I, |2 {" L return -1;
: J1 F- ^; _+ L5 ]* z% E }
|
评分
-
查看全部评分
|