SnIPPETsX

SnIPPETsX › func unique(nums []int) []int

func unique(nums []int) []int

Go · updated Oct 14, 2026 · 98 lines

main.js

// Задача: удалить дубликаты из слайса
// Нужно вернуть новый слайс без повторяющихся элементов,
// сохранив порядок первого появления.

package main

import "fmt"

func unique(nums []int) []int {
    // clone := nums
    for index, i := range nums {
      fmt.Println(nums[i:])
      for indexCut, j := range nums[i:] {
        if j == i {
          fmt.Println("found ", i, " at ", index+indexCut)
          // clone := append()
        }
      }
    }
	return nil
}

func main() {
	tests := [][]int{
		{1, 2, 2, 3, 1, 4},
		{5, 5, 5},
		{1, 2, 3},
		{},
		{1, 1, 2, 2, 3, 3},
	}

	for _, nums := range tests {
		fmt.Printf("%v -> %v\n", nums, unique(nums))
	}
}

file-2.go

package main

import "fmt"

func main() {
	ch := make(chan int)

	go func() {
		ch <- 42
	}()

	fmt.Println(<-ch)
}

file-3.go

// Задача
// Дан массив целых чисел nums.
// Нужно вернуть true, если массив является:
// - неубывающим: nums[i] <= nums[i+1]
// - или невозрастающим: nums[i] >= nums[i+1]
// Иначе вернуть false.

package main

import "fmt"

func isMonotonic(nums []int) bool {
  low, high := false, false
	for i := 0; i < len(nums)-1; i++{
      fmt.Println(nums[i+1])
      if nums[i] <= nums[i+1] {
        if low {
          return false
        }
        high = true
        low = false
      } else if nums[i] >= nums[i+1] {
        if high {
          return false
        }
        high = false
        low = true
      } 
      
    }
	return true
}

func main() {
	tests := [][]int{
		{1, 2, 2, 3},
		{6, 5, 4, 4},
		{1, 3, 2},
		{1, 1, 1},
		{1, 2},
		{2, 1},
		{},
		{5},
		{1, 2, 3, 2},
	}

	for _, nums := range tests {
		fmt.Printf("%v -> %v\n", nums, isMonotonic(nums))
	}
}

Run this Go snippet

Open this snippet on SnIPPETsX to run the Go code in your browser, edit it together with others in real time, or fork it into your own copy. No install or account is needed.