Golang LeetCode练习题及答案(三)

haicoder_ibai · · 801 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

> 本文参考 [**嗨客网**](https://haicoder.net) Golang [**实战**](https://haicoder.net/case/index.html) # **Golang LeetCode练习题及答案(三)** # **前言** 本篇文章是关于一部分 Golang LeetCode 的题目以及详细的解题思路,每道题都附有答案链接,答案解题的每个步骤到运行结果都十分详细,十分适合小白拿来练习,也十分适合准备面试的各位练手,这篇文章我会不断更新。题目都是对应 LeetCode 中练习题,答案是使用 Golang 的解题思路及方法,大家在学习了 [**Golang**](https://haicoder.net/golang/golang-tutorial.html) 相关教程之后,刷几道 LeetCode 相关的练习题,在学习过程中,觉得十分抽象、晦涩难懂的知识点,配合一道练习题,或许会有意想不到的效果哦!   # **正文:Golang LeetCode(三)** ### **11.Golang盛最多水的容器** **题目**: 用 [**Golang**](https://haicoder.net/golang/golang-tutorial.html) 实现给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 **示例**: ```shell 输入: [1,8,6,2,5,4,8,3,7] 输出: 49 ``` **答案**:[**链接**](https://haicoder.net/case/golang-leetcode/golang-leetcode11.html) ### **12.Golang整数转罗马** **题目**: 用 [**Golang**](https://haicoder.net/golang/golang-tutorial.html) 实现罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 ```go 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 ``` 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。 X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。 给定一个整数,将其转为罗马数字。输入确保在 1 到 3999 的范围内。 **示例1**: ```shell 输入: 3 输出: "III" ``` **示例2**: ```shell 输入: 4 输出: "IV" ``` **示例3**: ```shell 输入: 58 输出: "LVIII" 解释: L = 50, V = 5, III = 3. ``` **答案**:**[链接](https://haicoder.net/case/golang-leetcode/golang-leetcode12.html)** ### **13.Golang罗马转整数** **题目**: 用 [**Golang**](https://haicoder.net/golang/golang-tutorial.html) 实现罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 ```go 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 ``` 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。 X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。 给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。 **示例1** ```go 输入: "III" 输出: 3 ``` **示例2** ```shell 输入: "IV" 输出: 4 ``` **示例3** ```shell 输入: "MCMXCIV" 输出: 1994 解释: M = 1000, CM = 900, XC = 90, IV = 4. ``` **答案**:**[链接](https://haicoder.net/case/golang-leetcode/golang-leetcode13.html)** ### **14.Golang最长公共前缀** **题目**: 用 [**Golang**](https://haicoder.net/golang/golang-tutorial.html) 实现编写一个 **[函数](https://haicoder.net/golang/golang-func.html)** 来查找 **[字符串](https://haicoder.net/golang/golang-string.html)** 数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 **示例1** ```shell 输入: ["flower","flow","flight"] 输出: "fl" ``` **示例2** ```shell 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 ``` **答案**:**[链接](https://haicoder.net/case/golang-leetcode/golang-leetcode14.html)** ### **15.Golang三数之和** **题目**: 用 [**Golang**](https://haicoder.net/golang/golang-tutorial.html) 实现给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 **示例** ```go 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] ``` **答案**:**[链接](https://haicoder.net/case/golang-leetcode/golang-leetcode15.html)**   # **后续** **上一章**:**[Golang LeetCode练习题及答案(二)](https://studygolang.com/articles/30484)** **下一章**:**[Golang LeetCode练习题及答案(四)](https://studygolang.com/articles/30735)** **其他章节**:**[Golang LeetCode练习题大纲](https://studygolang.com/articles/30473)** 因为文章数量过多,整理不易,所以如果更新过慢,请大家谅解,文章我会尽自己最大速度更新,大家可以先关注我,或者收藏下这篇文章,我会持续更新的,以上案例是提供给有一定 Golang 基础的同学看的,如果感觉做题有些压力,可以先在各类教程网先学习 Golang 语言,本人这里当然首推上方习题及答案来源的 **[嗨客网](https://haicoder.net/)**。 ***2020.09.11更,未完待续。。。。。***

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

801 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传