402. 移掉K位数字 golang

测试用例

示例 2 :

输入: num = “10200”, k = 1
输出: “200”
解释: 移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。
示例 3 :

输入: num = “10”, k = 2
输出: “0”
解释: 从原数字移除所有的数字,剩余为空就是0。

Me

如果下一个元素比当前栈元素小,移除当前元素,把下一个元素入栈
10200
k =2
栈:1
k=1
0200
0<1
k = 0
栈:0
k==0
栈:0200
处理最开头的0,返回结果

10
k = 2
栈:1
k = 1
栈:0
k=0
接下来就要和上面的例子一样处理0
如果字符串是空就返回指定值

func removeKdigits(num string, k int) string {digits := len(num) - kstack := make([]byte, len(num))top := 0 for i := range num {for top > 0 && stack[top-1] > num[i] && k > 0 {top--k--}stack[top] = num[i]top++}i := 0for i < digits && stack[i] == '0' {i++}if i == digits {return "0"}return string(stack[i:digits])
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

121. 买卖股票的最佳时机 golang

Me 记录最大值最小值 在更新最小值的时候&#xff0c;我们忽略前面的最大值&#xff0c;并重新以当前最小值为起点&#xff01;&#xff08;但是可能目前的收益最多&#xff0c;所以创建变量保存收入&#xff09;在产生最大值的时候&#xff0c;我们需要计算当前利润是否大于历…

53. 最大子序和 golang (动态规划与贪心算法)

题目 给定一个整数数组 nums &#xff0c;找到一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大&#xff0c;为 6。 进阶: 如果…

665. 非递减数列 golang 切片越界问题的探讨(二)

思路 给定一个长度为 n 的整数数组&#xff0c;你的任务是判断在最多改变 1 个元素的情况下&#xff0c;该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的&#xff1a; 对于数组中所有的 i (1 < i < n)&#xff0c;满足 array[i] < array[i 1]。 示…

70. 爬楼梯 golang 斐波那契数列

题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正整数。 示例 1&#xff1a; 输入&#xff1a; 2 输出&#xff1a; 2 解释&#xff1a; 有两种方法可以爬…

Time, Clocks, and the Ordering of Events in 翻译

summary 第一次翻译论文&#xff0c;真的翻译的很烂。给我的体会是&#xff1a; 你需要很强的英文翻译水平&#xff0c;注意是翻译水平不是英文水平。你需要有极强的专业知识水平&#xff08;专业大佬&#xff09;&#xff0c;这样才能从一个宏观的角度理解论文&#xff0c;给一…

golang plugin模块的使用

共享库工具 Currently plugins are only supported on Linux and macOS 通过plugin我们可以很方便的对于不同功能加载相应的模块并调用相关的模块&#xff1b;也可以针对不同语言&#xff08;英文、汉语、德语……&#xff09;加载不同的语言so文件&#xff0c;进行不同的输出&…

6.824 MapReduce lab1 2020(一)

文章目录MIT 6.824 分布式系统 lab1&#xff1a;MapReduceNoteswordcounts MapReduce Model look likea simple sequential mapreduce implementation(mrsequential.go)MIT 6.824 分布式系统 lab1&#xff1a;MapReduce 文档 https://pdos.csail.mit.edu/6.824/labs/lab-mr.ht…

golang并发官方示例

文章目录GoroutinesChannelsBuffered ChannelsRange and CloseSelectfatal error: all goroutines are asleep - deadlock!Default Selectionsync.MutexExercise: Web Crawler官方网站Goroutines A goroutine is a lightweight thread managed by the Go runtime. go f(x, y,…

6.824 RPC lesson2 2020(一)

resources https://pdos.csail.mit.edu/6.824/notes/crawler.go https://pdos.csail.mit.edu/6.824/notes/l-rpc.txt https://pdos.csail.mit.edu/6.824/notes/kv.go RPC_concept 19 | 分布式通信之远程调用&#xff1a;我是你的千里眼&#xff08;https://time.geekbang.or…

6.824 RPC lesson2 2020(二)

Use RPC to make a kv storage server Go example: kv.go on schedule page A toy key/value storage server – Put(key,value), Get(key)->value Uses Go’s RPC library Common: Declare Args and Reply struct for each server handler. Client: connect()s Dial() cre…

35. 搜索插入位置 golang

题目 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出…

191. 位1的个数 golang

题目 位1的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数&#xff08;也被称为汉明重量&#xff09;。 示例 1&#xff1a; 输入&#xff1a;00000000000000000000000000001011 输出&#xff1a;3 解释&#…

445. 两数相加 II golang

题目 两数相加 II 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理&#xf…

关于golang的append函数的踩坑

文章目录从LeetCode第26题产生的疑问测试代码LeetCode22解决方式原题例2 LeetCode189copy的值复制从LeetCode第26题产生的疑问 这篇文章里面提到了关于在函数内部修改数据的情况。但是LeetCode22题中发现append无法在传送变量中进行append。 测试代码 输出结果 [123 456 7] //…

22. 括号生成 golang 图解

题目 括号生成 给出 n 代表生成括号的对数&#xff0c;请你写出一个函数&#xff0c;使其能够生成所有可能的并且有效的括号组合。 例如&#xff0c;给出 n 3&#xff0c;生成结果为&#xff1a; [ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ] 解法 f…

279. 完全平方数 golang BFS

题目 完全平方数 给定正整数 n&#xff0c;找到若干个完全平方数&#xff08;比如 1, 4, 9, 16, …&#xff09;使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: 输入: n 12 输出: 3 解释: 12 4 4 4. 示例 2: 输入: n 13 输出: 2 解释: 13 4 9…

104. 二叉树的最大深度 golang DFS

题目 二叉树的最大深度 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例&#xff1a; 给定二叉树 [3,9,20,null,null,15,7]&#xff0c; 3/ \9 20/ \15 7返回它的最…

169. 多数元素 golang

题目 多数元素 给定一个大小为 n 的数组&#xff0c;找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出…

168.167Excle表列整数字符和字符整数的互相转化

题目 Excel表列序号 给定一个Excel表格中的列名称&#xff0c;返回其相应的列序号。 例如&#xff0c; A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...示例 1: 输入: “A” 输出: 1 示例 2: 输入: “AB” 输出: 28 示例 3: 输入: “ZY” 输…