Skip to content

Commit 29e6de9

Browse files
author
tmacy
committed
add 004
1 parent 49fe77d commit 29e6de9

File tree

2 files changed

+76
-10
lines changed

2 files changed

+76
-10
lines changed

003_longest_substring_without_repeat/readme

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
a1 := []int{}
7+
a2 := []int{1}
8+
b1 := []int{1, 2}
9+
b2 := []int{3, 4}
10+
11+
fmt.Printf("a1,a2:%v\n", findMedianSortedArrays(a1, a2))
12+
fmt.Printf("b1,b2:%v\n", findMedianSortedArrays(b1, b2))
13+
}
14+
// runtime test:38ms
15+
16+
func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {
17+
len1 := len(nums1)
18+
len2 := len(nums2)
19+
array := make([]int, len1+len2)
20+
var i, j int
21+
var k int
22+
for i, j, k = 0, 0, 0; i < len1 && j < len2; {
23+
switch t := nums1[i] - nums2[j]; {
24+
case t < 0:
25+
array[k] = nums1[i]
26+
i++
27+
k++
28+
case t > 0:
29+
array[k] = nums2[j]
30+
j++
31+
k++
32+
case t == 0:
33+
array[k] = nums1[i]
34+
k++
35+
i++
36+
array[k] = nums2[j]
37+
k++
38+
j++
39+
}
40+
}
41+
if i != len1 {
42+
for ; i < len1; i++ {
43+
array[k] = nums1[i]
44+
k++
45+
}
46+
}
47+
if j != len2 {
48+
for ; j < len2; j++ {
49+
array[k] = nums2[j]
50+
k++
51+
}
52+
}
53+
fmt.Printf("array :%v\n", array)
54+
lenArray := len(array)
55+
if lenArray%2 == 0 {
56+
return float64((array[lenArray/2-1] + array[lenArray/2])) / 2
57+
} else {
58+
return float64(array[lenArray/2])
59+
}
60+
}
61+
62+
//the simplest way runtime test :52ms
63+
// import "sort"
64+
//func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {
65+
// merged := append(nums1, nums2...)
66+
// sort.Ints(merged)
67+
//
68+
// totalLen := len(merged)
69+
// if totalLen % 2 == 0 {
70+
//
71+
// return float64((merged[(totalLen/2)-1] + merged[totalLen/2])) / 2.0
72+
// } else {
73+
//
74+
// return float64(merged[totalLen/2])
75+
// }
76+
//}

0 commit comments

Comments
 (0)