找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6900|回复: 17
收起左侧

[Amazon] 趁热打铁,再来一篇Amazon的OA

  [复制链接]

11

主题

11

精华

207

积分

高级会员

Rank: 3Rank: 3

积分
207
发表于 10-23-2016 06:11 AM | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Sophia 于 9-30-2016 01:53 PM 编辑 6 U  H9 G* t4 b5 c. }0 B0 T! `
: c/ }5 E3 g+ F  c4 {$ @) |' Y
UP主的第九篇帖:
- e6 @! u" D7 {7 W由于Amazon 最近招人很多,UP主又有了一次围观小伙伴的机会。 这次UP主奋笔疾书记下了5道改BUG的题。 UP主写的也很辛苦,望版主评为精华:
& ^9 ]; E1 T+ Y3 k. l0 J. `这次一次上来5道题, UP主已经将修改Bug的位置用红色标出(第二题除外,因为来不及记下源代码)
8 {( g8 m# G0 z- V" D
. {. [4 U$ N$ R5 h0 H6 ^
1. The method countOccurence(int arr[], int value) of class Occurrence is supposed to return the count of occurence if a number value in the input array arr.

5 \' c4 ]7 P3 O9 w5 w' B/ w& }+ B; [
源代码:
  1. public class Occurence{" P8 f7 L- b- a+ B% g
  2.         public static int[] countOccurence(int arr[], int value) {; j" u6 w, k$ D3 c( M
  3.         int i, j, len = arr.length;2 K, m( C* v$ `3 v2 A
  4.         while( i < len ) {
    ( I0 [& H- }- h8 b4 q% r  Q
  5.         if ( arr【i】 == value ) {% i. t5 ^5 ~7 L0 y! m' R
  6.         count += 1;" {8 z3 R+ d0 s0 {! s# K! B
  7. }  ^) g8 j# [3 x
  8. }5 ~+ \& z- R6 T* A* T
  9. return count;
    ' j+ z: {, T. Z
  10. }
    5 E# E( b" ?! T, b! z; o
  11. }
复制代码

. g0 q7 \# G) p

# k, z3 v* [; ]7 q7 X7 h
修改后代码:

! d4 a& L( S  Y( v
  1. public class Occurence{3 \) z- |1 X9 t* D7 Y  H0 O
  2.         public static int[] countOccurence(int arr[], int value) {& I+ N: L% k6 x) z+ v: f- q
  3.         int i = 0, count = 0, len = arr.length;# q6 c9 v" r* s" f1 ?9 y
  4.         while( i < len ) {4 a1 C) a# L$ O3 {7 @; o; K
  5.         if ( arr【i】 == value ) {
    9 o7 n$ {1 n3 ^& ~$ _0 O; W3 I
  6.         count == 1;
    8 z; |% u( F' u0 a+ y: G
  7. }
    4 }$ g. m! S5 c/ V. v. O
  8. i++;& d( T/ A- U& ^9 S( @& u0 S. j4 Y
  9. }  t7 C- [! {# H2 s8 K
  10. return count;0 i) l* R, B0 A* `$ D  g: d
  11. }' X% v" X1 J7 C. d
  12. }
复制代码

9 L# M: V# ~' F! B4 N+ |8 _
  F* x4 }" i1 b! V- S
1 S0 H7 W% n. A1 s( i
2.The method replaceValues(int arr[]) of class ArrayOperation accepts an array arr as an input of the same length0 I+ f. d% \% G& {' {+ h
If the length of arr is odd,all the elements of arr are supposed to be replaced by 1s and in case it is even, the elements should be replaced by 0s.
9 h! |8 [( W3 j- d" ?5 u
For example given the input array {0,1,2}, the function will return the array {1,1,1}

' J/ S1 Q* a9 B6 _
The function complies successfully but falls to return the desired result due to logical errors
5 I, m# K! q4 ]% p( G
  1. public class ArrayOperation{
    8 \% C5 i8 W! h: }" h
  2.         public static int[] replaceValues(int arr[]) {
    ; I. F; z( l3 D7 j" Q
  3.         int i, j, len = arr.length;5 c' F# m+ V, U1 ?4 \9 Q
  4.         if ( len % 2 == 0 ) {
    . `8 H& D+ P' ~( s, h' y: N% M" y
  5.         for ( i = 0; i < len; i++) {
      e! \/ ~3 |" Z+ H: N
  6.         arr【i】 = 0;  @6 m5 v8 d( B8 a( U% r
  7. }
    & e2 g2 W# m  p1 i; r# J
  8. } else {
    1 E( p" U2 K" `( ~5 b- G% R: _( Z
  9.         for ( j = 0; j < len; j++ ) {9 o+ q/ M: f# V; J
  10.         arr[j] = 1;
    + {0 T1 I3 Q' ~1 E5 a
  11. }( z# U6 h0 A- Q' T& x$ q: T( m# q' q
  12. }
    $ [+ v) [# A/ I* \$ d, R: H3 r0 P# g
  13. return arr;
    8 ~! G# D, d: |" S
  14. }+ b2 [5 V  I; z: R8 A3 i7 D
  15. }
复制代码
. H1 \3 Y% E. A* y
6 l) ~8 B. ?/ F) `

" P/ O& [6 C5 N0 ]3.The method sortArray( int arr[]) of class Array accepts an integer array as an input and performs an inplace sort operation on it. return the input array in descending order .
  ?: ?& ~; H4 l' V. E+ w  L2 [5 Q1 }, O6 z/ k7 j
源代码:
  1. public class GradingSystem{7 f8 j( ?/ Q5 I1 A0 W
  2.         public static int[] sortArray( int arr[] ){
    9 B: S' F4 T4 F  S
  3.         int len = arr.length;' @0 [$ I. m$ ]5 i' c
  4.         int small, pos, i, j, temp;- Y% Z+ q/ H& s* [: @: A% m
  5.         for ( int i = 0; i <= len - 1; i++ ){
    $ W2 I* Z# n, k
  6.         temp = 0;
    6 y) u6 Q) S: w7 r& [
  7.         if ( arr【i】 > arr[j] ){
    : L8 `! S7 C$ K$ ^% c6 c: Y& V+ S
  8.         temp = arr【i】;
    ! W& ^' {; l& b: E6 ]: S2 {0 @
  9.         arr【i】 = arr[j];5 T. }% C* ~; ?' y3 d9 `5 N
  10.         arr[j] = temp;
    " Y/ _# p* h) V5 M, a" X- I" K
  11. }* X6 }9 ]. y7 u/ o1 H  w
  12. }
      O7 J: h& u2 [5 d' p# v
  13. }
    ! M- J  O# a4 t+ C* |
  14. return arr;
    0 U4 v& q% c- v( B1 p( V
  15. }
复制代码
! w5 C4 {3 X: h) z$ F: G& {
修改后代码:
  1. public class GradingSystem{/ Q1 X' P2 ?1 a
  2.         public static int[] sortArray( int arr[] ){6 U% V5 }4 q; s: T, y& o% }
  3.         int len = arr.length;
      J) K8 X3 ^+ ?
  4.         int small, pos, i, j, temp;) t: q$ ?' t2 W, O9 S1 b
  5.         for ( int i = 0; i <= len - 1; i++ ){
    ; }7 N7 H" n0 m* B! p
  6.         temp = 0;
    % e; q" l- |% x' [% Q3 p; e! A( H
  7.         if ( arr【i】 < arr[j] ){
    4 v3 O# l8 ~! @. D% W
  8.         temp = arr【i】;. M9 W# d, z1 C% F3 Q+ r0 e$ V  v
  9.         arr【i】 = arr[j];
    ' l$ U! y; D! D
  10.         arr[j] = temp;
    ) o, j6 ?4 A9 x2 W/ H
  11. }  r# ?& G$ O! P5 L, S5 i- I
  12. }
    7 v- G4 h; C2 {/ r/ Q$ H
  13. }
    ; I+ _/ U8 c. n2 @9 s: O  `
  14. return arr;
    7 h' E$ r& ~! W; V) r( D5 `
  15. }
复制代码

, I8 z% s6 @* `' a4 j) \* [& O

) Y7 i6 v) }+ f2 G: ^
4. The method removeElement( int arr[], int index) of class ShortArray takes an array arr as an input, it is supposed to return an array after removing the integer at the given index in the input array arr. if the given index is out of bounds, then this function should return the input array arr.
% `' j2 @0 h. S' L: q4 f7 A% Q
源代码:
  1. public class ShortArray{) ]; q5 o' G% Y  V- x5 W% R8 q" n  N
  2.         public static int[] removeElement( int arr[], int index ) {1 ]( e" a9 F' o1 C0 F
  3.         int i, j ,len = arr.length;
    3 K1 B! }' O& U# G3 x! p, K5 c
  4. if ( index < len ) {# F# i) r( J. u( a2 \3 |1 `6 _4 H  X
  5.         arr【i】 = arr[i++];
    . L7 a+ r: y! s4 i4 U
  6. }) R0 G- D" O2 v& X% @/ T  D  c" c
  7. int rarr[] = new int[len - 1];
    , a" j3 c4 ~. H
  8. for ( i = 0; i < len - 1; i++ )
    : F# ^" @5 x; Y  r: n
  9.         rarr【i】 = arr【i】;8 E8 _) I+ G  j, p% b/ N" L
  10. return rarr;" \1 K/ l8 G. W7 m; [. f
  11. }
    9 R7 [1 U; Q" P, H8 s
  12. else  M* q9 M3 ~7 ]- o$ K7 g( Z
  13. return rarr;0 t" H6 a5 S, v# N) a; f
  14. }$ N$ _3 V7 o  W: L; e+ B
  15. }
复制代码

4 H: L. T2 H; ]. ^2 T! M0 G

; l* N7 c! g3 k, D
修改后代码:
  1. public class ShortArray{) ?# |9 S4 I: t8 h/ j* Y
  2.         public static int[] removeElement( int arr[], int index ) {1 h/ _- m5 l1 T& h* C" J3 H
  3.         int i, j ,len = arr.length;
      S- L3 \) [# A" G0 `1 }
  4. if ( index < len ) {
    + K+ M8 }9 d; v2 e/ w
  5.         for( i = index; i < len - 1; i++ ){
      x" o& d3 t" E
  6.         arr【i】 = arr[i + 1];
    4 {) [& n2 n. x$ j5 n& y, K
  7. }
    1 K' p. M" l0 H7 U: t% |, A
  8. }. H  n2 u0 ^2 j# f
  9. int rarr[] = new int[len - 1];3 h2 H; w) E, j6 F) B3 R
  10. for ( i = 0; i < len - 1; i++ )
    0 e: m0 e2 `! _% J2 D1 h, s, I
  11.         rarr【i】 = arr【i】;
    9 C- f' d) K3 `/ y" z7 y
  12. return rarr;5 V) g) Y; l/ y! M2 E! [* d. V* s3 L* T
  13. } else
    2 M; i5 t# |- l7 H+ G
  14. return rarr;
    ) R& C9 v! ?& o7 _/ ]0 b
  15. }8 [0 K; x0 x9 L7 c  u
  16. }
复制代码
2 _5 B! V8 m2 {$ v( r8 u9 P
5 f0 p- l8 q% U, C/ i  ]7 r9 ^
5.The method countDigit(int num) of class Digits is supposed to return the remainder when the input argument num ( num > 0 ) is divided by number of digits in num. The function complies successfully but fails to return desired result due to logical errors

$ U9 T% Q. L+ A/ r# m
原代码:
  1. public class Digits{5 s. h- ^. C6 c, B
  2.         public static int countDigits( int num ) {% }7 B( P$ N; o6 i/ ]2 W4 j& J
  3.         int count = 0;
    0 g6 g! j# c. O" ]8 P  \
  4.         while ( nums != 0 ) {" e7 H  f) A& E6 @9 ~% Z. u) j& Q/ R
  5.         num = num / 10;' l& `1 z- U, }5 k5 D! K+ |4 Z
  6.         count++;
    - w2 h9 o2 h" e
  7. }9 O9 g, Z% l9 J6 x9 {, q" t1 R% i
  8. return ( num % count );6 F5 N9 R+ m$ z1 b# F' X# c  r3 d* T
  9. }, Y( X% P6 f' }0 O# |' l$ G
  10. }
复制代码

( Q/ K( G) _$ f; ~  j$ e# S
; i- m- T. z3 ]6 N
修改后代码:
  1. public class Digits{
      d  t5 z! t% j$ \4 g( H8 W% w5 v
  2.         public static int countDigits( int num ) {
    % d( A2 q# F) J/ E" ?
  3.         int count = 0;
    9 }9 k, O) m, g0 B* ~! y* i1 R# Z9 c
  4.         int temp = num;0 j: M) i8 ]0 C- K% [
  5.         while ( nums != 0 ) {
    ; s& I& j( g; a% B' O7 w/ p: I0 P
  6.         num = num / 10;
    1 W$ ?4 s- {. N) `( v& n
  7.         count++;) w: ?; e$ z5 N! z
  8. }
    ; q% t! B9 G5 P+ V$ D9 B
  9. return ( temp % count );
    / u+ p; e" B  N- t$ {5 M% n
  10. }
    / x: G5 t- [4 L: `# |8 U- `
  11. }
复制代码
$ A  I7 q' c  s3 S& Y1 R3 D

9 h8 a* U/ F# o6 z% [/ {
祝大家找工作顺利,这可是UP主手把手敲下来的呢T_T。。。。。。

" g8 z3 K2 m6 T9 n" W
/ F$ i/ }4 ?; s/ P. q. R0 K: s# N  X& R. s

评分

参与人数 1金钱 +6 收起 理由
Sophia + 6 好帖!大米满满送上!

查看全部评分

11

主题

11

精华

207

积分

高级会员

Rank: 3Rank: 3

积分
207
 楼主| 发表于 10-23-2016 06:12 AM | 显示全部楼层
UP主明明已经排版好然后用红色标出不同,不知道为什么发出帖子之后又乱了.........

评分

参与人数 1金钱 +2 收起 理由
Sophia + 2 积分补偿!耽误您的时间了~给您道歉~

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 10-23-2016 05:18 PM | 显示全部楼层
好帖!大米满满送上!
回复 支持 反对

使用道具 举报

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

本版积分规则

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