【解決方法】この問題を解決するには?


3 integer variables from the user ( a, b, c ) and find how many of them are negative numbers.

After finding out the total count of negative numbers, return the count.

for no negative numbers, count will be 0.

これが時間と空間の複雑さです。

Constraints
-10^6<=a<=10^6
-10^6<=b<=10^6
-10^6<=c<=10^6

私が試したこと:

public class Main {
    static int printCount(int a, int b, int c){

		int count =0;
		for(int i=0; i<a || i<b || i<c; i++){
			if(a<0 || b<0 || c<0){
				count++;
			}
		
		}
		return count;
		}
    }

	public static void main(String[] args) throws Throwable {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        System.out.println(printCount(a, b, c));
    }
}

解決策 1

手動で行う方法を考えてみましょう。ゼロから始めて、最初の数字を確認します。 負の場合は、カウントに 1 を追加します。 次に、同じことを 2 番目に行い、次に 3 番目に行います。
その後、カウントがあります。

では、なぜループが必要なのでしょうか? それは運動に何をもたらしますか?

手動で行うことを実装します。コードはシンプルで、常に正しい結果が得られます。

解決策 2

(として グリフ 提案…)あなたのコードは完全に間違っています。
入力した数字を確認する必要があります 個別に 現在調べている数が負の場合は、カウンターをインクリメントします。
なのでまずはチェック a. マイナスですか? その場合は、カウンターをインクリメントします。
同じ bc.

そのような (確かに単純な) コードを書いた後で初めて、改善として、入力の配列を使用して (それらを反復して) 実装することを考えるかもしれません。

コメント

タイトルとURLをコピーしました