search

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: 1 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindMedianSortedArrays

func FindMedianSortedArrays(nums1 []int, nums2 []int) float64
Example
package main

import (
	"fmt"
)

type question4 struct {
	para4
	ans4
}

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

// ans 是答案
// one 代表第一个答案
type ans4 struct {
	one float64
}

func main() {

	qs := []question4{

		{
			para4{[]int{1, 3}, []int{2}},
			ans4{2.0},
		},

		{
			para4{[]int{1, 2}, []int{3, 4}},
			ans4{2.5},
		},
	}

	for _, q := range qs {
		_, p := q.ans4, q.para4
		fmt.Println(p, FindMedianSortedArrays(p.nums1, p.nums2))
	}
}
Output:

{[1 3] [2]} 2
{[1 2] [3 4]} 2.5

func Search33

func Search33(nums []int, target int) int
Example
package main

import (
	"fmt"
)

type question33 struct {
	para33
	ans33
}

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

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

func main() {

	qs := []question33{

		{
			para33{[]int{3, 1}, 1},
			ans33{1},
		},

		{
			para33{[]int{4, 5, 6, 7, 0, 1, 2}, 0},
			ans33{4},
		},

		{
			para33{[]int{4, 5, 6, 7, 0, 1, 2}, 3},
			ans33{-1},
		},
	}

	for _, q := range qs {
		_, p := q.ans33, q.para33
		fmt.Println(p, Search33(p.nums, p.target))
	}
}
Output:

{[3 1] 1} 1
{[4 5 6 7 0 1 2] 0} 4
{[4 5 6 7 0 1 2] 3} -1

func SearchFirstGreaterElement

func SearchFirstGreaterElement(nums []int, target int) int

二分查找第一个大于等于 target 的元素,时间复杂度 O(logn)

func SearchInsert

func SearchInsert(nums []int, target int) int
Example
package main

import (
	"fmt"
)

type question35 struct {
	para35
	ans35
}

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

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

func main() {

	qs := []question35{

		{
			para35{[]int{1, 3, 5, 6}, 5},
			ans35{2},
		},

		{
			para35{[]int{1, 3, 5, 6}, 2},
			ans35{1},
		},

		{
			para35{[]int{1, 3, 5, 6}, 7},
			ans35{4},
		},

		{
			para35{[]int{1, 3, 5, 6}, 0},
			ans35{0},
		},
	}

	for _, q := range qs {
		_, p := q.ans35, q.para35
		fmt.Println(p, SearchInsert(p.nums, p.target))
	}
}
Output:

{[1 3 5 6] 5} 2
{[1 3 5 6] 2} 1
{[1 3 5 6] 7} 4
{[1 3 5 6] 0} 0

func SearchLastLessElement

func SearchLastLessElement(nums []int, target int) int

二分查找最后一个小于等于 target 的元素,时间复杂度 O(logn)

func SearchMatrix

func SearchMatrix(matrix [][]int, target int) bool
Example
package main

import (
	"fmt"
)

type question74 struct {
	para74
	ans74
}

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

// ans 是答案
// one 代表第一个答案
type ans74 struct {
	one bool
}

func main() {

	qs := []question74{

		{
			para74{[][]int{{1, 3, 5, 7}, {10, 11, 16, 20}, {23, 30, 34, 50}}, 3},
			ans74{true},
		},

		{
			para74{[][]int{{1, 3, 5, 7}, {10, 11, 16, 20}, {23, 30, 34, 50}}, 13},
			ans74{false},
		},
	}

	for _, q := range qs {
		_, p := q.ans74, q.para74
		fmt.Println(p, SearchMatrix(p.matrix, p.target))
	}
}
Output:

{[[1 3 5 7] [10 11 16 20] [23 30 34 50]] 3} true
{[[1 3 5 7] [10 11 16 20] [23 30 34 50]] 13} false

func SearchRange

func SearchRange(nums []int, target int) []int
Example
package main

import (
	"fmt"
)

type question34 struct {
	para34
	ans34
}

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

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

func main() {

	qs := []question34{

		{
			para34{[]int{5, 7, 7, 8, 8, 10}, 8},
			ans34{[]int{3, 4}},
		},

		{
			para34{[]int{5, 7, 7, 8, 8, 10}, 6},
			ans34{[]int{-1, -1}},
		},
	}

	for _, q := range qs {
		_, p := q.ans34, q.para34
		fmt.Println(p, SearchRange(p.nums, p.target))
	}
}
Output:

{[5 7 7 8 8 10] 8} [3 4]
{[5 7 7 8 8 10] 6} [-1 -1]

Types

This section is empty.

Jump to

Keyboard shortcuts

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