面接でよくある質問: Java で一時変数を使用せずに 2 つの数値を交換する

DDD
リリース: 2024-10-03 20:08:30
オリジナル
805 人が閲覧しました

Common Interview Question: Swapping Two Numbers Without a Temporary Variable in Java

2 つの数字を入れ替えることは、プログラミングの面接でよく行われる作業であり、これを実現するにはさまざまな方法があります。興味深い方法の 1 つは、一時変数を使用せずに 2 つの数値を交換することです。このテクニックは賢いだけでなく、Java の算術演算を理解するのにも役立ちます。この記事では、このメソッドを検討し、サンプル コードの実装を提供します。

コンセプトを理解する

一時変数を使用せずに 2 つの数値を交換する背後にある考え方は、基本的な算術演算に基づいています。中心となるアイデアは、加算と減算を使用してスワップを実行することです。仕組みは次のとおりです:

  1. 2 つの数値を加算し、結果を変数の 1 つに保存します。
  2. 合計から 2 番目の数値を減算して、2 番目の変数の最初の数値を取得します。
  3. 合計から 2 番目の変数の新しい値を減算して、最初の変数の最初の数値を取得します。

コードの実装

この方法を示す簡単な Java プログラムを次に示します。

package basics;

public class SwapTwoNumbersWithoutTemp {

    private void swapNumbers(int a, int b) {
        a = a + b; // Step 1: a becomes the sum of a and b
        b = a - b; // Step 2: b becomes the original value of a
        a = a - b; // Step 3: a becomes the original value of b

        System.out.println("a = " + a + " b = " + b);
    }

    public static void main(String[] args) {
        SwapTwoNumbersWithoutTemp swap = new SwapTwoNumbersWithoutTemp();
        swap.swapNumbers(5, 6);
    }
}
ログイン後にコピー

コードの説明

  1. メソッド定義: メソッド swapNumbers(int a, int b) は 2 つの整数パラメータを取ります。
  2. ステップ 1: a = a b; — これは両方の数値を加算し、結果を a.
  3. に保存します。
  4. ステップ 2: b = a - b; — これにより、a の元の値が b に事実上割り当てられます。
  5. ステップ 3: a = a - b; — 最後に、これは b の元の値を a に代入します。
  6. 出力: スワップされた値がコンソールに出力されます。

結論

一時変数を使用せずに 2 つの数値を交換することは、インタビューでよく聞かれる効率的で賢いテクニックです。この方法はメモリを節約するだけでなく、基本的な算術演算の理解を示すことにもなります。これは、特に面接の準備において、コーディング ツールボックスに追加するのに最適です。

このコードを自由に試してみて、さまざまな数値のペアをテストして、メソッドがどのように実行されるかを確認してください。

関連記事

  • Java の基礎: データ型

  • Java プログラミングに関するヒントと洞察については、Array Interview Essentials に関する私のシリーズをご覧ください。

コーディングを楽しんでください!

以上が面接でよくある質問: Java で一時変数を使用せずに 2 つの数値を交換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!