36进制加法
题目描述
36进制由0-9,a-z,共36个字符表示。
要求按照加法规则计算出任意两个36进制正整数的和,如1b + 2x = 48 (解释:47+105=152)
要求:不允许使用先将36进制数字整体转为10进制,相加后再转回为36进制的做法
参考LC415. 字符串相加的扩展,在这道题的基础上额外对36进制进行处理
牛客本题链接
代码
package mainimport ("fmt""strings"
)//ASCII码 A = 65 a = 97func getInt(c byte) int {if c >= '0' && c <= '9' {return int(c - '0')}return int(c-'a') + 10}
func getChar(x int) byte {if x >= 0 && x <= 9 {return byte(x) + '0'}return byte(x-10) + 'a'
}func addString(num1, num2 string) string {var res strings.Builderi := len(num1) - 1j := len(num2) - 1carry := 0for i >= 0 || j >= 0 || carry > 0 {x := 0y := 0if i >= 0 {x = getInt(num1[i])}if j >= 0 {y = getInt(num2[j])}tmp := x + y + carrycarry = tmp / 36res.WriteByte(getChar(tmp % 36))i--j--}result := res.String()reversed := reverseString(result)return reversed
}func reverseString(s string) string {runes := []rune(s)n := len(runes)for i := 0; i < n/2; i++ {runes[i], runes[n-i-1] = runes[n-i-1], runes[i]}return string(runes)
}
func main() {a := "1b"b := "2x"c := addString(a, b)fmt.Printf("输出结果为:%v", c)
}
最后这个代码的输出结果为48
相关文章
- TYVJ P1026 犁田机器人
描述 Farmer John為了让自己从无穷无尽的犁田工作中解放出来,於是买了个新机器人帮助他犁田。这个机器人可以完成犁田的任务,可惜有一个小小的缺点:这个犁田机器人一次只能犁一个边的长度是整数的长方形的田地。 因為FJ的田地有树和其他障碍…...
2023/9/29 12:38:24 - Vulkan-着色器及编译SPIR-V
1.着色器模块介绍 Vulkan着色器代码一定要用字节码格式,而不是人类可读的语法如GLSL和HLSL。这个字节码就是SPIR-V,设计用于Vulkan和OpenCL。这是一个可以用于编写图形和计算着色器的格式,但是我们主要关注的是Vulkan的图形管线。使用字节码格…...
2023/9/29 12:32:57 - SpringCloud + SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题
title: “SpringCloud SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题” createTime: 2021-11-24T10:27:5708:00 updateTime: 2021-11-24T10:27:5708:00 draft: false author: “Atomicyo” tags: [“tomcat”] categories: [“java”] description: …...
2023/9/29 12:29:49 - 软件测试基础学习
注意: 各位同学们,今年本人求职目前遇到的情况大体是这样了,开发太卷,学历高的话优势非常的大,公司会根据实际情况考虑是否值得培养(哪怕技术差一点);学历稍微低一些但是技术熟练的…...
2023/9/29 12:27:31 - 自学成为一名黑客(自学笔记)
前言: 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“…...
2023/9/29 12:18:42 - 最快的包管理器--pnpm创建vue项目完整步骤
1.用npm全局安装pnpm npm install -g pnpm 2.在要创建vue项目的包下进入cmd,输入: pnpm create vue 3.输入项目名字,选择Router,Pinia,ESLint,Prettier之后点确定 4.cd到创建好的项目 ,安装依赖 cd .\刚创建好的项目名称\ p…...
2023/9/29 12:16:14
最新文章
- TYVJ P1026 犁田机器人
描述 Farmer John為了让自己从无穷无尽的犁田工作中解放出来,於是买了个新机器人帮助他犁田。这个机器人可以完成犁田的任务,可惜有一个小小的缺点:这个犁田机器人一次只能犁一个边的长度是整数的长方形的田地。 因為FJ的田地有树和其他障碍…...
2023/9/29 12:38:24 - Vulkan-着色器及编译SPIR-V
1.着色器模块介绍 Vulkan着色器代码一定要用字节码格式,而不是人类可读的语法如GLSL和HLSL。这个字节码就是SPIR-V,设计用于Vulkan和OpenCL。这是一个可以用于编写图形和计算着色器的格式,但是我们主要关注的是Vulkan的图形管线。使用字节码格…...
2023/9/29 12:32:57 - SpringCloud + SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题
title: “SpringCloud SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题” createTime: 2021-11-24T10:27:5708:00 updateTime: 2021-11-24T10:27:5708:00 draft: false author: “Atomicyo” tags: [“tomcat”] categories: [“java”] description: …...
2023/9/29 12:29:49 - 软件测试基础学习
注意: 各位同学们,今年本人求职目前遇到的情况大体是这样了,开发太卷,学历高的话优势非常的大,公司会根据实际情况考虑是否值得培养(哪怕技术差一点);学历稍微低一些但是技术熟练的…...
2023/9/29 12:27:31 - 自学成为一名黑客(自学笔记)
前言: 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“…...
2023/9/29 12:18:42 - 最快的包管理器--pnpm创建vue项目完整步骤
1.用npm全局安装pnpm npm install -g pnpm 2.在要创建vue项目的包下进入cmd,输入: pnpm create vue 3.输入项目名字,选择Router,Pinia,ESLint,Prettier之后点确定 4.cd到创建好的项目 ,安装依赖 cd .\刚创建好的项目名称\ p…...
2023/9/29 12:16:14 - 国内可使用chatGPT的十三种方式
国内AI 1. 开放猫 Chat机器人https://mirrorchat.extkj.cn/ chat机器人: Chat机器人https://mirrorchat.extkj.cn/ 3.免费学习测试 免费学习测试https://chat.wuguokai.cn/#/chat/1683348236237 4.AI文本工具站 AI文本工具站一个用于提高工作效率的文本工具网站,应用…...
2023/8/14 13:04:36 - 基于ChatGPT3.5 API实现的私有化web程序源码+使用说明,一键部署属于自己定制化的 chatgpt web 程序
chatgpt-web 本项目可以一键部署属于自己定制化的 chatgpt web 程序(兼容gpt3.5), 只需下载release中对应平台的项目文件,修改配置后执行,打开 http://127.0.0.1:8080 ,便可以获得属于自己的chatgpt网站。 参考项目:co…...
2023/8/14 19:59:25 - ChatGPT Plus用户专享:86款高效功能插件,详尽安装与使用全攻略
在前天的文章中,我们介绍了 ChatGPT 开放的全新模式 Web Browsing(网页浏览),启用后 ChatGPT 就可以开始上网,收集最新的互联网资料进行作答。 其他关于chatgpt使用方面:请访问: 链接…...
2023/8/14 10:16:53 - ChatGPT自然语言处理的新里程碑
ChatGPT中文网是一个面向中国用户的聊天机器人网站,旨在为国内用户提供一个自然的环境、有趣、实用的聊天体验。它使用最新的自然语言处理技术来帮助用户更好地理解他们的聊天对话,还可以帮助用户解决日常生活中的问题,提供有趣的谈话内容以及…...
2023/8/15 8:22:45 - 国内版ChatGPT最全使用方法及使用用途技巧汇总
ChatGPT人工智能技术的出现确实会让一些人担心自己的工作会不会被取代。但实际上,人工智能技术只会替代那些可以被程序自动化的重复性、标准化、无脑力的工作,而对于需要人类创意、想象力和复杂思维的工作来说,AI人工智能技术的发展对于人类来…...
2023/8/14 10:55:47 - ChatGPT和Midjourney王炸组合,开启AI新时代
目录 序言 一:使用ChatGPT进行对话 二:调用newbies robot 三:举例说明 四:付费和使用限制 序言 随着人工智能技术的不断发展,越来越多的人开始使用人工智能工具来创作图画。在这里,我将分享如何结合Ch…...
2023/8/15 10:03:43