golang中ACM模式输入输入一些函数和有必要用到的函数

本文介绍了strconv.Atoi用于字符串转整数的函数,strings.Split和strings.Join用于字符串操作的函数,以及动态规划中的01背包和完全背包问题,强调了在算法设计中不同场景下的遍历顺序策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入输出函数:

1.strconv.Atoi

将字符串转换为整数类型的函数

func Atoi(s string) (int, error)

  • s:需要被转换为整数的字符串。
  • 返回值:转换后的整数值,以及可能的错误信息。

2. strings.Split 

字符串按照指定的分隔符进行分割的函数

func Split(s, sep string) []string

  • s:需要被分割的字符串。
  • sep:用于分割字符串的分隔符。

3.strings.Join 

将字符串切片(slice of strings)连接成一个单独的字符串的函数

func Join(elems []string, sep string) string

  • elems:需要被连接的字符串切片。
  • sep:用于连接字符串的分隔符

4.strings.Fields 

用于将字符串分割成子字符串切片

func Fields(s string) []string

  • s: 需要分割的字符串。
  • []string: 包含分割后子字符串的切片。连续的空白字符会被视为一个分隔符。

使用场景

  • 分词处理: 当你需要将用户输入或文本文件中的内容按空白字符分割时。
  • 简单文本分析: 对文本进行基本的处理,例如将句子分解成单词。

5.strings.Trim

func Trim(s string, cutset string) string

参数

  • s:要处理的原始字符串。
  • cutset:要去除的字符集合(可以是多个字符)。

返回值

返回一个新字符串,该字符串是去除了原始字符串两端指定字符后的结果。

输入:

  • fmt.Scan:按空格分隔,适合简单输入。
  • fmt.Scanf:根据格式化字符串精确解析输入。
  • fmt.Scanln:读取整行输入,直到换行符

输出:

  • fmt.Print:简单输出,无换行。
  • fmt.Printf:格式化输出,灵活控制。
  • fmt.Println:输出后自动换行。

这里fmt.Print和fmt.Println相同除了换行

算法细节总结:

以下总结都是建立在代码随想录思想,以及总结一些个人觉得需要总结并大概记忆的内容。

1.动态规划:

01背包:遍历顺序为先物品后背包,背包需要从大到小遍历,原因在于物品只能遍历一次。

完全背包问题:纯完全背包问题只需要从小到大遍历,先遍历谁都行。求的是最大价值

但是一般来说没有纯完全背包问题,实际大概分为了:代码随想录 (programmercarl.com)

排列:先遍历背包后物品

组合:先遍历物品后背包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值