1234567891011121314151617181920212223242526 |
- func findDuplicate(paths []string) [][]string {
- res := make([][]string, 0)
- m := make(map[string]int)
- idx := 0
- for _, path := range paths {
- strs := strings.Split(path, " ")
- for i := 1; i < len(strs); i++ {
- names := strings.Split(strs[i], "(")
- file := strs[0] + "/" + names[0]
- if v, ok := m[names[1]]; ok {
- res[v] = append(res[v], file)
- } else {
- res = append(res, []string{file})
- m[names[1]] = idx
- idx++
- }
- }
- }
- ans := make([][]string, 0)
- for _, r := range res {
- if 1 < len(r) {
- ans = append(ans, r)
- }
- }
- return ans
- }
|