专栏首页Golang语言社区golang slice N选3 组合

golang slice N选3 组合

package main

import(

"fmt"

)

func main(){

var a = []int32{1,2,3,4,5, 6}

fmt.Println(mix(0,1,2, a, nil))

}

func mix(i, j, k int, a []int32, result [][]int32) [][]int32 {

length := len(a)

if k <= length-1 {

result = append(result, []int32{a[i], a[j], a[k]})

k++

result = mix(i, j, k, a, result)

} else {

if j <= length - 2 {

j++

k = j + 1

result = mix(i, j, k, a, result)

} else {

if i <= length - 3 {

i++

j = i + 1

k = j + 1

result = mix(i, j, k, a, result)

}

}

}

return result

}

本文来自:开源中国博客

感谢作者:原来有一天

查看原文:golang slice N选3 组合

本文分享自微信公众号 - Golang语言社区(Golangweb),作者:原来有一天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-05-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Go语言服务器开发实现最简单HTTP的GET与POST接口

    本文实例讲述了Go语言服务器开发实现最简单HTTP的GET与POST接口。分享给大家供大家参考。具体分析如下: Go语言提供了http包,可以很轻松的开发htt...

    李海彬
  • 使用Redis之前5个必须了解的事情

    使用Redis开发应用程序是一个很愉快的过程,但是就像其他技术一样,基于Redis的应用程序设计你同样需要牢记几点。在之前,你可能已经对关系型数据库开发的那一整...

    李海彬
  • 系统架构之三(业务运营支撑系统)

    本人从事过3年的移动业务运营支撑系统开发,行业术语叫做boss系统,后又转入游戏行业进行游戏开发。 现设计一个业务运营支撑系统的架构如下: ? 详细解释各模块如...

    李海彬
  • 异名解题:7. 整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2³¹, ...

    异名
  • flink 有状态udf 引起血案一

    最近在做一个画像的任务,sql实现的,其中有一个udf,会做很多事情,包括将从redis读出历史值加权,并将中间结果和加权后的结果更新到redis。

    Spark学习技巧
  • ES6特性之:Rest参数

    其实在JavaScript中,通过使用arguments对象也能实现这种可变参数的能力,但是,arguments对象本身有点奇怪,它看起来像一个数组,但其实它不...

    一斤代码
  • python 调用Google Tran

    py3study
  • [Leetcode][python]Simplify Path

    化简Unix系统下一个文件的绝对路径。 输入: path = “/a/./b/../../c/”

    后端技术漫谈
  • 安全科普:什么是中间人攻击(MITM)

    你拿着刚买的咖啡,连上了咖啡店的WiFi,然后开始工作,这样的动作在之前已经重复了无数遍,一切都和谐无比。但你不知道的是有人正在监视你,他们监视着你的各种网络活...

    FB客服
  • 数值的整数次方

扫码关注云+社区

领取腾讯云代金券