sorting

package
v0.0.0-...-eb09a2a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func SortColors

func SortColors(nums []int)
Example
package main

import (
	"fmt"
)

type question75 struct {
	para75
	ans75
}

// para 是参数
// one 代表第一个参数
type para75 struct {
	one []int
}

// ans 是答案
// one 代表第一个答案
type ans75 struct {
	one []int
}

func main() {

	qs := []question75{

		{
			para75{[]int{}},
			ans75{[]int{}},
		},

		{
			para75{[]int{1}},
			ans75{[]int{1}},
		},

		{
			para75{[]int{2, 0, 2, 1, 1, 0}},
			ans75{[]int{0, 0, 1, 1, 2, 2}},
		},

		{
			para75{[]int{2, 0, 1, 1, 2, 0, 2, 1, 2, 0, 0, 0, 1, 2, 2, 2, 0, 1, 1}},
			ans75{[]int{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2}},
		},
	}

	for _, q := range qs {
		_, p := q.ans75, q.para75
		SortColors(p.one)
		fmt.Println(p.one)
	}
}
Output:

[]
[1]
[0 0 1 1 2 2]
[0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 2]

Types

type Interval

type Interval = structures.Interval

Interval define

func Insert57

func Insert57(intervals []Interval, newInterval Interval) []Interval
Example
package main

import (
	"fmt"
)

type question57 struct {
	para57
	ans57
}

// para 是参数
// one 代表第一个参数
type para57 struct {
	one []Interval
	two Interval
}

// ans 是答案
// one 代表第一个答案
type ans57 struct {
	one []Interval
}

func main() {

	qs := []question57{

		{
			para57{[]Interval{}, Interval{}},
			ans57{[]Interval{}},
		},

		{
			para57{[]Interval{{Start: 1, End: 3}, {Start: 6, End: 9}}, Interval{Start: 4, End: 8}},
			ans57{[]Interval{{Start: 1, End: 5}, {Start: 6, End: 9}}},
		},

		{
			para57{[]Interval{{Start: 1, End: 3}, {Start: 6, End: 9}}, Interval{Start: 2, End: 5}},
			ans57{[]Interval{{Start: 1, End: 5}, {Start: 6, End: 9}}},
		},

		{
			para57{[]Interval{{Start: 1, End: 2}, {Start: 3, End: 5}, {Start: 6, End: 7}, {Start: 8, End: 10}, {Start: 12, End: 16}}, Interval{Start: 4, End: 8}},
			ans57{[]Interval{{Start: 1, End: 2}, {Start: 3, End: 10}, {Start: 12, End: 16}}},
		},

		{
			para57{[]Interval{{Start: 1, End: 5}}, Interval{Start: 5, End: 7}},
			ans57{[]Interval{{Start: 1, End: 7}}},
		},

		{
			para57{[]Interval{{Start: 1, End: 2}, {Start: 3, End: 5}, {Start: 6, End: 7}, {Start: 8, End: 10}, {Start: 12, End: 16}}, Interval{Start: 9, End: 12}},
			ans57{[]Interval{{Start: 1, End: 2}, {Start: 3, End: 5}, {Start: 6, End: 7}, {Start: 8, End: 16}}},
		},
	}

	for _, q := range qs {
		_, p := q.ans57, q.para57
		fmt.Println(p, Insert57(p.one, p.two))
	}
}
Output:

{[] {0 0}} [{0 0}]
{[{1 3} {6 9}] {4 8}} [{1 3} {4 9}]
{[{1 3} {6 9}] {2 5}} [{1 5} {6 9}]
{[{1 2} {3 5} {6 7} {8 10} {12 16}] {4 8}} [{1 2} {3 10} {12 16}]
{[{1 5}] {5 7}} [{1 7}]
{[{1 2} {3 5} {6 7} {8 10} {12 16}] {9 12}} [{1 2} {3 5} {6 7} {8 16}]

func Merge56

func Merge56(intervals []Interval) []Interval
Example
package main

import (
	"fmt"
)

type question56 struct {
	para56
	ans56
}

// para 是参数
// one 代表第一个参数
type para56 struct {
	one []Interval
}

// ans 是答案
// one 代表第一个答案
type ans56 struct {
	one []Interval
}

func main() {

	qs := []question56{

		{
			para56{[]Interval{}},
			ans56{[]Interval{}},
		},

		{
			para56{[]Interval{{Start: 1, End: 3}, {Start: 2, End: 6}, {Start: 8, End: 10}, {Start: 15, End: 18}}},
			ans56{[]Interval{{Start: 1, End: 6}, {Start: 8, End: 10}, {Start: 15, End: 18}}},
		},

		{
			para56{[]Interval{{Start: 1, End: 4}, {Start: 4, End: 5}}},
			ans56{[]Interval{{Start: 1, End: 5}}},
		},

		{
			para56{[]Interval{{Start: 1, End: 3}, {Start: 3, End: 6}, {Start: 5, End: 10}, {Start: 9, End: 18}}},
			ans56{[]Interval{{Start: 1, End: 18}}},
		},

		{
			para56{[]Interval{{Start: 15, End: 18}, {Start: 8, End: 10}, {Start: 2, End: 6}, {Start: 1, End: 3}}},
			ans56{[]Interval{{Start: 1, End: 6}, {Start: 8, End: 10}, {Start: 15, End: 18}}},
		},

		{
			para56{[]Interval{{Start: 1, End: 3}, {Start: 2, End: 6}, {Start: 8, End: 10}, {Start: 15, End: 18}}},
			ans56{[]Interval{{Start: 1, End: 6}, {Start: 8, End: 10}, {Start: 15, End: 18}}},
		},

		{
			para56{[]Interval{{Start: 1, End: 4}, {Start: 1, End: 5}}},
			ans56{[]Interval{{Start: 1, End: 5}}},
		},
	}

	for _, q := range qs {
		_, p := q.ans56, q.para56
		fmt.Println(p, Merge56(p.one))
	}
}
Output:

{[]} []
{[{1 3} {2 6} {8 10} {15 18}]} [{1 6} {8 10} {15 18}]
{[{1 4} {4 5}]} [{1 5}]
{[{1 3} {3 6} {5 10} {9 18}]} [{1 18}]
{[{1 3} {2 6} {8 10} {15 18}]} [{1 6} {8 10} {15 18}]
{[{1 3} {2 6} {8 10} {15 18}]} [{1 6} {8 10} {15 18}]
{[{1 4} {1 5}]} [{1 5}]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL