Documentation
¶
Index ¶
- func FindMedianSortedArrays(nums1 []int, nums2 []int) float64
- func Search33(nums []int, target int) int
- func SearchFirstGreaterElement(nums []int, target int) int
- func SearchInsert(nums []int, target int) int
- func SearchLastLessElement(nums []int, target int) int
- func SearchMatrix(matrix [][]int, target int) bool
- func SearchRange(nums []int, target int) []int
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindMedianSortedArrays ¶
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 ¶
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 ¶
二分查找第一个大于等于 target 的元素,时间复杂度 O(logn)
func SearchInsert ¶
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 ¶
二分查找最后一个小于等于 target 的元素,时间复杂度 O(logn)
func SearchMatrix ¶
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 ¶
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.
Click to show internal directories.
Click to hide internal directories.