All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g2101_2200.s2169_count_operations_to_obtain_zero.Solution Maven / Gradle / Ivy

package g2101_2200.s2169_count_operations_to_obtain_zero;

// #Easy #Math #Simulation #2022_06_07_Time_0_ms_(100.00%)_Space_39_MB_(96.68%)

/**
 * 2169 - Count Operations to Obtain Zero\.
 *
 * Easy
 *
 * You are given two **non-negative** integers `num1` and `num2`.
 *
 * In one **operation** , if `num1 >= num2`, you must subtract `num2` from `num1`, otherwise subtract `num1` from `num2`.
 *
 * *   For example, if `num1 = 5` and `num2 = 4`, subtract `num2` from `num1`, thus obtaining `num1 = 1` and `num2 = 4`. However, if `num1 = 4` and `num2 = 5`, after one operation, `num1 = 4` and `num2 = 1`.
 *
 * Return _the **number of operations** required to make either_ `num1 = 0` _or_ `num2 = 0`.
 *
 * **Example 1:**
 *
 * **Input:** num1 = 2, num2 = 3
 *
 * **Output:** 3
 *
 * **Explanation:** 
 *
 * - Operation 1: num1 = 2, num2 = 3. Since num1 < num2, we subtract num1 from num2 and get num1 = 2, num2 = 3 - 2 = 1. 
 *
 * - Operation 2: num1 = 2, num2 = 1. Since num1 > num2, we subtract num2 from num1. 
 *
 * - Operation 3: num1 = 1, num2 = 1. Since num1 == num2, we subtract num2 from num1. 
 *
 * Now num1 = 0 and num2 = 1. Since num1 == 0, we do not need to perform any further operations. 
 *
 * So the total number of operations required is 3. 
 *
 * **Example 2:**
 *
 * **Input:** num1 = 10, num2 = 10
 *
 * **Output:** 1
 *
 * **Explanation:** 
 *
 * - Operation 1: num1 = 10, num2 = 10. Since num1 == num2, we subtract num2 from num1 and get num1 = 10 - 10 = 0. 
 *
 * Now num1 = 0 and num2 = 10. Since num1 == 0, we are done. 
 *
 * So the total number of operations required is 1. 
 *
 * **Constraints:**
 *
 * *   0 <= num1, num2 <= 105
**/
public class Solution {
    public int countOperations(int num1, int num2) {
        int ans = 0;
        while ((num1 * num2) != 0) {
            if (num1 >= num2) {
                ans += num1 / num2;
                num1 = num1 % num2;
            } else {
                ans += num2 / num1;
                num2 = num2 % num1;
            }
        }
        return ans;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy