iOS 算法题-最小运算次数

使用代码实现求最小运算次数:
    1、输入一个数字X经过n次运算后得到Y值;
    2、每次只能进行乘2或者减1运算;
    例1:X=2  Y=3
    //过程:2 - 4 -3  结果为2次运算
    
    例2:X=5  Y=14
    //过程:5 - 4 -8-7-14  结果为4次运算
    
    例3:X=19  Y=16
    //过程:19 - 18 -17 - 16结果为3次运算

分析:(X -> Y)

1、当X>Y时只能做减法运算。
2、当X

代码实现 (Swift):

    func mininumCalc(_ X: Int, _ Y: Int) -> Int {
        var num = 0
        if X >= Y {
            return X-Y
        }
        var rs = Y
        while rs != X
        {
            if rs%2 == 0 && rs > X {
                rs = rs/2
            }else {
                rs  = rs+1
            }
            print("\(rs) \n")
            num += 1
        }
        return num
    }

你可能感兴趣的:(iOS 算法题-最小运算次数)