Go 语言实现连续数字自动填充并找出最大值
本文介绍使用 Go 语言实现连续数字自动填充功能,并找出填充后的最大数字。
问题描述:
给定一个包含数字的字符串,其中可能存在连续的数字缺失。例如:'123456789','1234567890','12345678901','123456789012'。需要自动填充缺失的数字,并找出填充后的最大数字。
Go 语言实现:
package main
import (
"fmt"
"strconv"
)
func main() {
input := "123456789"
result := fillAndFindMax(input)
fmt.Println("填充后的最大数字: ", result)
}
func fillAndFindMax(input string) int {
// 将字符串转换为数字切片
digits := []int{}
for _, r := range input {
digit, _ := strconv.Atoi(string(r))
digits = append(digits, digit)
}
// 填充缺失的数字
for i := 0; i < len(digits)-1; i++ {
if digits[i+1]-digits[i] > 1 {
for j := digits[i] + 1; j < digits[i+1]; j++ {
digits = append(digits, i+1, j)
}
}
}
// 找到最大数字
max := digits[0]
for _, digit := range digits {
if digit > max {
max = digit
}
}
return max
}
使用方法:
- 将 input 变量设置为需要填充的字符串。
- 运行程序,程序将输出填充后的最大数字。
示例:
input = "123456789"
output = 9
input = "1234567890"
output = 10
input = "12345678901"
output = 11
input = "123456789012"
output = 12
注意事项:
- 该代码假设输入的字符串仅包含数字。
- 如果输入字符串为空或不包含数字,程序将返回 0。
原文地址: https://www.cveoy.top/t/topic/lLhV 著作权归作者所有。请勿转载和采集!