For a non-negative integer X, the array-form of X is an array of its digits in left to right order.  For example, if X = 1231, then the array form is [1,2,3,1].

Given the array-form A of a non-negative integer X, return the array-form of the integer X+K.

Example 1:

Input: A = [1,2,0,0], K = 34
Output: [1,2,3,4]
Explanation: 1200 + 34 = 1234

Example 2:

Input: A = [2,7,4], K = 181
Output: [4,5,5]
Explanation: 274 + 181 = 455

Example 3:

Input: A = [2,1,5], K = 806
Output: [1,0,2,1]
Explanation: 215 + 806 = 1021

Example 4:

Input: A = [9,9,9,9,9,9,9,9,9,9], K = 1
Output: [1,0,0,0,0,0,0,0,0,0,0]
Explanation: 9999999999 + 1 = 10000000000

Note:

  1. 1 <= A.length <= 10000
  2. 0 <= A[i] <= 9
  3. 0 <= K <= 10000
  4. If A.length > 1, then A[0] != 0
Runtime: 136 ms, faster than 100.00% of C++ online submissions for Add to Array-Form of Integer.
Memory Usage: 11.9 MB, less than 100.00% of C++ online submissions for Add to Array-Form of Integer.
class Solution {
public:
vector<int> addToArrayForm(vector<int>& A, int K) {
vector<int> ka = itoarray(K);
for(int a : ka) cout << a << endl;
reverse(A.begin(), A.end());
vector<int> ret;
int endi = max(A.size(), ka.size());
int add1, add2, sleft, sj;
sj = ;
for(int i=; i<endi; i++) {
add1 = add2 = sleft = ;
if(i < A.size()) add1 = A[i];
if(i < ka.size()) add2 = ka[i];
sleft = sj + add1 + add2;
if(sleft >= ) {sj = ; sleft %= ;}
else sj = ;
ret.push_back(sleft);
}
if(sj == ) ret.push_back();
reverse(ret.begin(), ret.end());
return ret;
}
vector<int> itoarray(int K) {
vector<int> a;
while(K != ) {
a.push_back(K % );
K /= ;
}
return a;
} };

最新文章

  1. 前端学HTTP之缓存
  2. DOM Scripting -- Web Design with JavaScript and the Document Object Model 第2版 读书笔记
  3. 【编程之美】2.5 寻找最大的k个数
  4. Openresty 与 Tengine
  5. C#页面添加提交数据后跳出小弹窗的功能
  6. 【转载】Redis与Memcached的区别
  7. BootStrap2学习日记1--网格系统
  8. 新建并保存一个空的Excel
  9. 基于GBT28181:SIP协议组件开发-----------第五篇SIP注册流程eXosip2实现(二)
  10. 【C++ Primer每天刷牙】一间 迭代器
  11. &lt;TCP/IP原理&gt; (三) 底层网络技术
  12. Web browse的发展演变
  13. Lodop打印设计(PRINT_DESIGN)介绍
  14. 尚硅谷springboot学习33-整合mybatis
  15. 基于redis的分布式ID生成器
  16. Fibonacci数列时间复杂度之美妙
  17. (转)live555从RTSP服务器读取数据到使用接收到的数据流程分析
  18. Linux上Nginx部署配置
  19. SICP第三章题解
  20. ALTERA的FPGA命名规则

热门文章

  1. Flutter——AlertDialog组件、SimpleDialog组件、showModalBottomSheet组件(弹窗组件)
  2. DNS服务——智能域名解析、镜像Web站点、直接域名泛域名
  3. 2019-ACM-ICPC-沈阳区网络赛-K. Guanguan&#39;s Happy water-高斯消元+矩阵快速幂
  4. &lt;&lt;回想&gt;&gt;
  5. 《AlwaysRun!团队》第四次作业:项目需求调研与分析
  6. 自定义简单算法MVC框架
  7. 导航菜单,showHide插件 + Dropdown 下拉对象
  8. myeclipse关掉references
  9. WiredTiger 4.1.0 发布,MongoDB 存储引擎
  10. Chinese Mahjong