列表

详情


GP30. 不重复的数

描述

给定一个数组,找出数组中所有不重复的数字,并按照从小到大的顺序进行输出

知识点:
    1,map用make方式进行初始化
    2,切片可以用[]int{}的方式进行初始化
    3,for range遍历切片
    4,_,ok :=map[key]的方式判断m中的key是否存在
    5,切片用append方式进行追加

示例1

输入:

[1,1,2,2,3,3,4,4,5,5]

输出:

[]

示例2

输入:

[3,3,2,2,5,5,1,2,2]

输出:

[1]

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Go 解法, 执行用时: 3ms, 内存消耗: 820KB, 提交时间: 2022-07-16

package main
//import "fmt"
import "sort"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s int整型一维数组 
 * @return int整型一维数组
*/
func getNoRepeat( s []int ) []int {
    // write code here
    count := make(map[int]int, 1)
    for _, v := range(s) {
        count[v]++
    }
    res := []int{}
    for k, v := range(count) {
        if v == 1 {
            res = append(res, k)
        }
    }
    sort.Ints(res)
    return res
}

Go 解法, 执行用时: 3ms, 内存消耗: 820KB, 提交时间: 2022-06-16

package main
//import "fmt"
import "sort"
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s int整型一维数组 
 * @return int整型一维数组
*/
func getNoRepeat( s []int ) []int {
    // write code here
    m :=make(map[int]int)
    ans := make([]int,0)
    for _,v :=range s {
        m[v]++;
    }
    for k,v :=range m {
        if v==1 {
            ans=append(ans,k)
        }
    }
    sort.Ints(ans)
    return ans
}

Go 解法, 执行用时: 3ms, 内存消耗: 844KB, 提交时间: 2022-06-08

package main;

import "sort"

func getNoRepeat(s []int) []int {
	a := make(map[int]int)
	for i := 0; i < len(s); i++ {
		a[s[i]]++
	}
	b := make([]int, 0)
	for x, y := range a {
		if y == 1 {
			b = append(b, x)
		}
	}
	sort.Ints(b)
	return b
}

Go 解法, 执行用时: 3ms, 内存消耗: 860KB, 提交时间: 2022-07-07

package main
//import "fmt"
import "sort"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s int整型一维数组 
 * @return int整型一维数组
*/
func getNoRepeat( s []int ) []int {
    // write code here
    map_s,res := make(map[int]int),[]int{}
    for _,i :=range(s){
        map_s[i]++
    }
    for i,j := range map_s{
        if j==1{
            res = append(res,i)
        }
    }
    sort.Ints(res)
    return res
}

Go 解法, 执行用时: 3ms, 内存消耗: 872KB, 提交时间: 2022-06-12

package main
//import "fmt"
import "sort"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s int整型一维数组 
 * @return int整型一维数组
*/
func getNoRepeat( s []int ) []int {
    // write code here
	arrMap := make(map[int]int)
	ans := []int{}
	for _, i := range s {
		_, ok := arrMap[i]
		if ok{
			// 存在
			arrMap[i] += 1
		}else {
			arrMap[i] = 1
		}
	}
	for k, v := range arrMap {
		if v == 1{
			ans = append(ans, k)
		}
	}
    sort.Ints(ans)
	return ans
}

上一题