前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【每日一算法】(二)按规则打印数组并取值

【每日一算法】(二)按规则打印数组并取值

作者头像
被测试耽误的大厨
发布2023-11-17 11:00:05
640
发布2023-11-17 11:00:05
举报
文章被收录于专栏:测试平台系列测试平台系列

题目:

给定一个数组,如 [3,3,4,5,6,7,8,9,9,4,3,5,6,7,8,1,0]

请组成如下图形后取值每行的最后一个数

3

345

67899

4356781

0

既,需要将目标数组按照1、3、5、7...等差数列分行,如有余数,直接插入

代码语言:javascript
复制
解题思路:
循环遍历目标数组,记录每行的数据,按需换行取值


func superposition(list []int) (nums []int) {
  // 定义一个标签记录当前行的长度
  target := 1
  // 生命一个list存储当前行的数据
  var temp []int
  // 开始遍历目标数组
  for i := 0; i < len(list); i++ {
    // 如果当前行中的数据达到目标长度
    if len(temp) == target {
      // 将当前行最后一个值追加到结果数组中
      nums = append(nums, temp[target-1])
      // 当前行list置空
      temp = []int{}
      // 当前行长度加2
      target = target + 2
      // 由于target已经达到目标长度,所以需要重新执行本次循环的数据
      i--
    } else {
      // 如果当前数是目标list的最后一个值,则直接将该值追加到结果中,并结束
      if i == len(list)-1 {
        nums = append(nums, list[i])
        return
      }
      // 将结果追加到当前行数组中
      temp = append(temp, list[i])
    }
  }
  return
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈测试开发之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档