プログラマ陰陽の追加


質問する


いくつかの整数があります.パラメータは、整数配列の絶対値(整数単位)と記号(整数単位)です.解関数を完了し、実際の整数の和を求めて返してください.

せいげんじょうけん

  • 絶対値の長さは1000を超えない.
    -絶対数のすべての数値は1または1000以下です.
  • 記号の長さは絶対長に等しい.
    -signs[i]が真の絶対[i]を表す実際の整数は正であり、そうでなければ負である.
  • I/O例



    に答える

    public class SumAbsolute {
        public static void main(String[] args) {
            SumAbsolute sumAbsolute = new SumAbsolute();
            int[] absolutes = {1,2,3};
            boolean[] signs = {false,false,true};
            int solution = sumAbsolute.solution(absolutes, signs);
            System.out.println("solution = " + solution);
        }
        public int solution(int[] absolutes, boolean[] signs) {
            int answer = 0;
            for(int i=0; i<absolutes.length; i++){
                int su = absolutes[i];
                if(!signs[i]){
                    su = su*-1;
                }
                answer += su;
            }
            return answer;
        }
    }
    简単な问题なのですぐに解决しました.考えてみればlamdaを使うともっと簡潔で読みやすさもいいですもったいない.

    説明する。

    public int solution(int[] absolutes, boolean[] signs) {
        int answer = 0;
        for(int i=0; i<absolutes.length; i++){
            answer += signs[i]? absolutes[i] : absolutes[i] * -1;
        }
        return answer;
    }
    ソリューションのセクションを変更するだけで、このように書くことができます.より短く、より読みやすさの良いコード!
    ランダ式を覚えて