当前位置: 首页 > news >正文

华为机考练习(golang)

 
 输入 第一行输入一个正整数N,表示整数个数。(0<N<100000) 第二行输入N个整数,整数的取值范围为[-100,100]。 第三行输入一个正整数M,M代表窗口的大小,M<=100000,且M<=N。   输出 窗口滑动产生所有窗口和的最大值 
 

package mainimport ("bufio""fmt""os""strconv""strings"
)func sumOfIntSlice(list []int) int {sum := 0for _, i := range list {sum += i}return sum
}func maxIntOfSlice(list []int) int {max := 0for _, i := range list {if i > max {max = i}}return max
}func main() {n := 0                 //整数个数list := make([]int, 0) //输入的整数列表m := 0                 //窗口宽度reader := bufio.NewReader(os.Stdin)fmt.Println("请输入整数个数N:")if nStr, err := reader.ReadString('\n'); err != nil {fmt.Println("获取参数N有错误", err)return} else {if nInt, err1 := strconv.Atoi(strings.TrimSpace(nStr)); err1 != nil {fmt.Sprintln("输入的参数N不是整数")return} else {n = nInt}}fmt.Println("请输入N个数字,并以空格隔开")if listInputStr, err := reader.ReadString('\n'); err != nil {fmt.Println("获取输入N个数字错误", err)return} else {listStr := strings.Split(strings.TrimSpace(listInputStr), " ")if len(listStr) == 0 {fmt.Println("数据参数不能为空")return} else {for _, intStrItem := range listStr {if intItem, err1 := strconv.Atoi(strings.TrimSpace(intStrItem)); err1 != nil {fmt.Println(fmt.Sprintf("%s 输入的参数:'%s'中包含非数字内容", listInputStr, intStrItem), err1)return} else {list = append(list, intItem)}}}}fmt.Println("请输入参数M")if mStr, err := reader.ReadString('\n'); err != nil {fmt.Println("获取参数M失败", err)return} else {if mInt, err1 := strconv.Atoi(strings.TrimSpace(mStr)); err1 != nil {fmt.Sprintln("输入的M不是整数", err1)return} else {m = mInt}}//可移动的步数step := n - m + 1mSumList := make([]int, 0)//循环步数for i := 0; i < step; i++ {//获取窗口的slicemList := list[i : m+i]//计算总和mSum := sumOfIntSlice(mList)mSumList = append(mSumList, mSum)fmt.Println(fmt.Sprintf("窗口和:%d", mSum))}fmt.Println(fmt.Sprintf("最大窗口和为:%d", maxIntOfSlice(mSumList)))}

相关文章:

  • 简单的spring缓存 Cacheable学习
  • 小北的JDK1.8下载、安装和环境配置教程——附件资源
  • C# 委托(Delegate)一
  • Spring Boot 学习之路 -- 基础认知
  • 云电脑、指纹浏览器,虚拟机这三者的区别
  • quiz: python网络爬虫之规则1
  • 大豆重测序-文献精读53
  • 什么是文件完整性监控(FIM)
  • 大模型-模型预训练-模型参数量计算
  • 落魄前端搞副业之 改造淘宝首页(淘宝换肤)
  • Java实现Excel导入和导出
  • TypeScript 设计模式之【状态模式】
  • 生信分析Python编程高级技巧
  • DAY16||513.找树左下角的值 |路径总和|从中序与后序遍历序列构造二叉树
  • llama_deploy
  • axios 和 cookie 的那些事
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Javascript设计模式学习之Observer(观察者)模式
  • Spring-boot 启动时碰到的错误
  • Vim 折腾记
  • 利用jquery编写加法运算验证码
  • 深入浏览器事件循环的本质
  • 收藏好这篇,别再只说“数据劫持”了
  • 手写一个CommonJS打包工具(一)
  • 算法之不定期更新(一)(2018-04-12)
  • 提醒我喝水chrome插件开发指南
  • 我的zsh配置, 2019最新方案
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • UI设计初学者应该如何入门?
  • #android不同版本废弃api,新api。
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (PySpark)RDD实验实战——求商品销量排行
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (原)本想说脏话,奈何已放下
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • (自用)仿写程序
  • ./和../以及/和~之间的区别
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .net 调用海康SDK以及常见的坑解释
  • .net 微服务 服务保护 自动重试 Polly
  • .net开发日常笔记(持续更新)
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET中的Exception处理(C#)
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • /etc/fstab和/etc/mtab的区别
  • [ solr入门 ] - 利用solrJ进行检索
  • [AutoSar]BSW_Com02 PDU详解
  • [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
  • [CF]Codeforces Round #551 (Div. 2)
  • [datastore@cyberfear.com].Elbie、[thekeyishere@cock.li].Elbie勒索病毒数据怎么处理|数据解密恢复