小杨编写了一个如下的高精度减法函数: 下面说法,正确的是( )。

ip639742 单选题 共 个子题
vector<int> highPrecisionSubtract(vector<int> a, vector<int> b) {
    vector<int> result;
    int borrow = 0;

    for (int i = 0; i < a.size(); ++i) {
        int digitA = a[i];
        int digitB = i < b.size() ? b[i] : 0;

        int diff = digitA - digitB - borrow;
        if (diff < 0) {
            diff += 10;
            borrow = 1;
        }
        else {
            borrow = 0;
        }

        result.push_back(diff);
    }

    while (result.size() > 1 && result.back() == 0) {
        result.pop_back();
    }

    return result;
}
A

如果数组$a$表示的整数小于$b$表示的整数,代码会正确返回二者的差为负数。

B

代码假设输入数字是以倒序存储的,例如$500$存储为 {0, 0, 5}。

C

代码的时间复杂度为$O(a.size() + b.size())$

D

当减法结果为$0$时,结果数组仍然会存储很多个元素$0$。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧