前言
了解更多常考高频算法题可以关注
公众号:一个搬砖的胖子
企业面试题库:https://codetop.cc/
小程序:CodeTop
今天补充的题目是36进制加法。
在分析了涉及该题的最新面经后,我发现了其中的规律。
这道题常出现在字节跳动的三面,涉及教育,抖音,data等部门!
在其他的面试也曾出现过,如data数据平台一面,教育前端二面
题目描述
36进制由0-9,a-z,共36个字符表示。
要求按照加法规则计算出任意两个36进制正整数的和,如1b + 2x = 48 (解释:47+105=152)
要求:不允许使用先将36进制数字整体转为10进制,相加后再转回为36进制的做法
题目分析
此题难度倒不是很大,实际上是LC415. 字符串相加的扩展。
LC415是十进制的大数相加,而本题是36进制的大数相加。
顺便提一嘴,我强烈推荐415题使用以下代码的写法,优雅简洁,不容易出Bug。
string addStrings(string num1, string num2)
{
int carry = 0;
int i = num1.size() - 1, j = num2.size() - 1;
string res;
while (i >= 0 || j >= 0 || carry)
{
int x = i