通过之前几道栈基础题,我们可以总结一个规律: 对于每个元素,需要考虑它前面若干个数的影响时,可以使用栈来解决。
栈1:每一个右括号,需要寻找之前离它最近的左括号
栈2:每一个元素,需要寻找之前连续的两个相同元素
栈3:每一个数x,需要寻找之前连续若干个数的和等于x。
请编写一段代码,用来完成下面这项序列统计任务。
给出一列非负整数 v,把每个值换成它在十六进制写法里各位数字累加后的结果,当作该值的“负荷”(累加时依据十六进制写法里的每一位来加,0 ~ 9对应负荷0~9,负荷A:10、B:11、C:12、D:13、E:14、F:15)。
需要做的事情是:对序列里每一个位置,向右扫描,找到负荷严格更大的最近那个数,并把该数所在下标填进答案序列。
某位置往右若再也遇不到负荷更大的数,该格填 −1。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册