2022-11-01 tsl 首轮笔试


func Test_aa(t *testing.T) {

    Solutionz(1)
}
func Solutionz(N int) {
    var enable_print int
    enable_print = N % 10
    for N > 0 {
        if enable_print == 0 && N%10 != 0 {
            enable_print = 1
        }
        if enable_print == 1 {
            fmt.Print(N % 10)
        }
        N = N / 10
    }
}

func Test_city(t *testing.T) {
    A, B := []int{1, 2, 3, 3}, []int{2, 3, 1, 4}
    N := 4
    res := Solutiony(A, B, N)
    assert.Equal(t, 4, res)

    A, B = []int{1, 2, 4, 5}, []int{2, 3, 5, 6}
    N = 6
    res = Solutiony(A, B, N)
    assert.Equal(t, 2, res)

    A, B = []int{2, 3, 3, 3, 2}, []int{1, 2, 1, 4, 1}
    N = 4
    res = Solutiony(A, B, N)
    assert.Equal(t, 4, res)
}

func Solutiony(A []int, B []int, N int) int {
    idx, res := 0, 0
    M := len(A)
    cnt := make(map[int]int, N)
    var connected = [100][100]bool{}
    i, j := 0, 0
    for idx < M {
        i, j = A[idx], B[idx]
        if connected[i][j] || connected[j][i] {
            idx++
            continue
        }
        connected[i][j], connected[j][i] = true, true
        if _, ok := cnt[i]; !ok {
            cnt[i] = 1
        } else {
            cnt[i]++
        }

        if _, ok := cnt[j]; !ok {
            cnt[j] = 1
        } else {
            cnt[j]++
        }
        idx++
    }

    for x := 0; x < N; x++ {
        for y := x + 1; y < N; y++ {
            if connected[x][y] || connected[y][x] {
                rank := cnt[x] + cnt[y] - 1
                if rank > res {
                    res = rank
                }
            }
        }
    }
    return res
}

func Test_sum(t *testing.T) {
    A := []int{2, -2, 3, 0, 4, -7}
    res := Solution(A)
    assert.Equal(t, 4, res)

    A = []int{1, 4, -5}
    res = Solution(A)
    assert.Equal(t, 1, res)

    A = []int{3, 4, -7, 3, 1, 3, 1, -4, -2, -2}
    res = Solution(A)
    assert.Equal(t, 6, res)

    A = []int{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    res = Solution(A)
    assert.Equal(t, -1, res)
}

func Solution(A []int) int {
    n := len(A)
    cnt := 0
    for i := 0; i < n; i++ {
        sum := 0
        for j := i; j < n; j++ {
            sum += A[j]
            if sum == 0 {
                cnt++
                if cnt > 3000 {
                    return -1
                }
            }
        }
    }
    return cnt
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 婆婆中午安排了摊煎饼,可以说是成本低、很大众化的饭菜。 前天傍晚孩儿和他爸爸一起去理发,等回来的时候,他们摊了一个...
    三娃妈梅行之阅读 138评论 0 0
  • 昨天反馈 打七分,表达了两次自己的界限。一次书写措词严谨,一次口头,有些着急。慢慢来! 今天日记 连接发生两次的事...
    小学心理老师阅读 426评论 0 1
  • 人生活中没有不痛苦的,每一天都是不一样。 昨天的心情,昨天的心镜,到了今天可能就没有那么回事了。 所以人啊,还是活...
    杨v红v红v阅读 131评论 0 0
  • 教学反思有多种方式,现就课堂教学的批判性反思进行一些探讨,希望能提供一些思考的方式与写作上的启发,也算抛砖引...
    liuren阅读 177评论 0 0
  • 癫痫的人群中,很大部分都是儿童癫痫患者。 儿童癫痫发作的类型也是很多的,但是最常见的还是小发作,下面就为大家介...
    癫痫冷知识阅读 144评论 0 0

友情链接更多精彩内容