登录
首页 >  Golang >  Go问答

Golang:检查数组中是否存在某个项目...然后检查它是否存在于两个不属于该项目的项目之间

来源:stackoverflow

时间:2024-04-09 21:18:38 135浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《Golang:检查数组中是否存在某个项目...然后检查它是否存在于两个不属于该项目的项目之间》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

这很难解释,我想确保某个项目不存在于其他两个项目之间。以下是一些示例,“-1”是要观看的项目:

1, 3, -1, 0, 1, 2 == 糟糕!

-1, 0, 3, -1, 1, 3 == 糟糕!

2、-1、-1、4、3、1 == 糟糕!

1、-1、-1、-1、2、0 == 糟糕!

-1, -1, 0, -1, -1, -1 == 不好!

但是...

如果是在结尾或开头都可以:

-1, 1, 2, 4, 0, -1 == 好的!

0, 1, 2, -1, -1, -1 == 好的!

-1, -1, -1, 2, 2, 1 == 好的!

上下文:这些是吉他和弦,“-1”是静音弦。我不希望在和弦中间使用静音弦,因为这样很难演奏

我希望这是有道理的。如果您知道更好的表达方式,请告诉我,我将更改标题

编辑:这是我到目前为止所得到的,因为有人问,但老实说我不知道​​从哪里开始:

for i := 0; i < len(c); i++ {

//don't include if there's a -1 between two numbers
 if c[i] != 0 && c[i] != len(c) {

 }

}

正确答案


试试这个。更改问题陈述。如果-1 的数字相邻,则 int 的切片为 okay

func check(input []int) bool {
    lastnonneg := -1
    for i, n := range input {
        if n != -1 {
            // already encountered non negative and non adjacent (distance gt 1)
            if lastnonneg != -1 && i-lastnonneg > 1 {
                return false
            }
            // otherwise remember the index
            lastnonneg = i
        }
    }
    return true
}

输入和输出:

[1 3 -1 0 1 2] false
[-1 0 3 -1 1 3] false
[2 -1 -1 4 3 1] false
[1 -1 -1 -1 2 0] false
[-1 -1 0 -1 -1 -1] true
[-1 1 2 4 0 -1] true
[0 1 2 -1 -1 -1] true
[-1 -1 -1 2 2 1] true

注意输入{-1, -1, -1, -1, -1, -1}okay,但是所有静音和弦并不难。

https://play.golang.org/p/Fzf8R4Seqan

如果将所有值放入切片中会怎样? 数字 := strings.split("1,2,3,4,5", ",")

然后你可以检查特定的事情在哪里,如果它不是开始或结束,你可能会很好。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Golang:检查数组中是否存在某个项目...然后检查它是否存在于两个不属于该项目的项目之间》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>