题解 | #牛群共有的编号#

牛群共有的编号

https://www.nowcoder.com/practice/a188da7b9c3a408b98b1cf47632f59d0

package main

import "sort"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param nums int整型二维数组
 * @return int整型一维数组
 */
func common_cow_numbers( nums [][]int ) []int {
    // write code here
    if len(nums)==0 {
        return []int{}
    }
    arr := make([]int,len(nums[0]))
    for i:=0;i<len(arr);i++{
        arr[i]=nums[0][i]
    }
    for x:=1;x<len(nums);x++{
        arrIndex := 0
        numIndex := 0
        for  {
            if arrIndex>=len(arr) {
                break
            }else if numIndex >= len(nums[x]) {
                for arrIndex<len(arr) {
                    arr[arrIndex] = -1
                    arrIndex++
                }
                break
            }

            if arr[arrIndex]==nums[x][numIndex] {
                arrIndex++
                numIndex++
            }else if arr[arrIndex]<nums[x][numIndex] {
                arr[arrIndex]=-1
                arrIndex++
            }else if arr[arrIndex]>nums[x][numIndex] {
                numIndex++
            }             
        }
        sort.Slice(arr, func(i int, j int) bool {
            return arr[i]<arr[j]
        })
        for i:=0;i<len(arr);i++ {
            if arr[i] != -1 {
                arr = arr[i:]
                break
            }else if i==len(arr)-1 {
				arr = []int{}
			}
        }
    }
    return arr
}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务