go語言題解LeetCode989數(shù)組形式的整數(shù)加法
題目描述
989. 數(shù)組形式的整數(shù)加法 - 力扣(LeetCode)
整數(shù)的 數(shù)組形式 num
是按照從左到右的順序表示其數(shù)字的數(shù)組。
- 例如,對于 num = 1321 ,數(shù)組形式是 [1,3,2,1] 。
給定 num
,整數(shù)的 數(shù)組形式 ,和整數(shù) k
,返回 整數(shù) num + k
的 數(shù)組形式 。
示例 1:
輸入:num = [1,2,0,0], k = 34 輸出:[1,2,3,4] 解釋:1200 + 34 = 1234
示例 2:
輸入:num = [2,7,4], k = 181 輸出:[4,5,5] 解釋:274 + 181 = 455
示例 3:
輸入:num = [2,1,5], k = 806 輸出:[1,0,2,1] 解釋:215 + 806 = 1021
提示:
1 <= num.length <= 10^4
0 <= num[i] <= 9
num 不包含任何前導(dǎo)零,除了零本身
1 <= k <= 10^4
思路分析
首先把指針定位到數(shù)組末尾,然后用取模和k 的每一位相加,用一個變量記錄進位,為了方便游泳了一個變量記錄和,最后合并所有數(shù)組;
第一個循環(huán)是將能夠計算的位數(shù)都計算出來
第二個循環(huán)是解決出現(xiàn)k 的位數(shù)小于數(shù)組長度的情況
第三個循環(huán)是解決出現(xiàn)數(shù)組長度小于位數(shù)的情況
最后判斷是否出現(xiàn)后兩種情況
如k 的位數(shù)更長,則需要把k 剩下的數(shù)加到結(jié)果數(shù)組前面
如還有進位,則把進位加到結(jié)果數(shù)組前面;所有的加法計算記得把進位加上,不難。
AC 代碼
class Solution { public: vector<int> addToArrayForm(vector<int>& num, int k) { vector<int> ans(num.size()); int index = num.size()-1; int carry = 0; int sum = 0; while(k > 0 && index >= 0){ sum = carry + num[index] + k%10; ans[index] = sum%10; carry = sum/10; k /= 10; index -= 1; } while(index >= 0){ sum = carry + num[index]; ans[index] = sum%10; carry = sum/10; index -= 1; } vector<int> kitem; while(k > 0){ sum = carry + k%10; kitem.emplace_back(sum%10); carry = sum/10; k /= 10; } if(kitem.size() > 0 || carry > 0){ reverse(kitem.begin(), kitem.end()); kitem.insert(kitem.end(), ans.begin(), ans.end()); if(carry > 0){ vector<int> temp(1, carry); temp.insert(temp.end(), kitem.begin(), kitem.end()); return temp; } else{ return kitem; } } return ans; } };
參考
989. 【加法模板】秒殺所有逐位相加 - 數(shù)組形式的整數(shù)加法 - 力扣(LeetCode)
以上就是go語言題解LeetCode989數(shù)組形式的整數(shù)加法的詳細內(nèi)容,更多關(guān)于go題解數(shù)組形式整數(shù)加法的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解Go語言中用 os/exec 執(zhí)行命令的五種方法
這篇文章主要介紹了Go語言中用 os/exec 執(zhí)行命令的五種方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11go語言實現(xiàn)的memcache協(xié)議服務(wù)的方法
這篇文章主要介紹了go語言實現(xiàn)的memcache協(xié)議服務(wù)的方法,實例分析了Go語言使用memcache的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03Go函數(shù)使用(函數(shù)定義、函數(shù)聲明、函數(shù)調(diào)用等)
本文主要介紹了Go函數(shù)使用,包括函數(shù)定義、函數(shù)聲明、函數(shù)調(diào)用、可變參數(shù)函數(shù)、匿名函數(shù)、遞歸函數(shù)、高階函數(shù)等,感興趣的可以了解一下2023-11-11Golang小數(shù)操作指南之判斷小數(shù)點位數(shù)與四舍五入
這篇文章主要給大家介紹了關(guān)于Golang小數(shù)操作指南之判斷小數(shù)點位數(shù)與四舍五入的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-03-03