@@ -18,17 +18,37 @@ type Mdrow struct {
1818
1919// GenerateMdRows define 
2020func  GenerateMdRows (solutionIds  []int , mdrows  []Mdrow ) {
21- 	//fmt.Printf("solutionIds = %v\n\n", solutionIds) 
21+ 	mdMap  :=  map [int ]Mdrow {}
22+ 	for  _ , row  :=  range  mdrows  {
23+ 		mdMap [int (row .FrontendQuestionID )] =  row 
24+ 	}
2225	for  i  :=  0 ; i  <  len (solutionIds ); i ++  {
23- 		//fmt.Printf("solutionIds[i] = %v id = %v - %v\n", solutionIds[i], mdrows[solutionIds[i]].FrontendQuestionID, mdrows[solutionIds[i]].QuestionTitle) 
24- 		id  :=  mdrows [solutionIds [i ]- 1 ].FrontendQuestionID 
25- 		if  solutionIds [i ] ==  int (id ) {
26- 			//fmt.Printf("id = %v i = %v solutionIds = %v\n", id, i, solutionIds[i]) 
27- 			mdrows [id - 1 ].SolutionPath  =  fmt .Sprintf ("[Go](https://github.com/halfrost/LeetCode-Go/tree/master/leetcode/%v)" , fmt .Sprintf ("%04d.%v" , id , strings .Replace (strings .TrimSpace (mdrows [id - 1 ].QuestionTitle ), " " , "-" , - 1 )))
26+ 		if  row , ok  :=  mdMap [solutionIds [i ]]; ok  {
27+ 			mdMap [solutionIds [i ]] =  Mdrow {
28+ 				FrontendQuestionID : row .FrontendQuestionID ,
29+ 				QuestionTitle :      row .QuestionTitle ,
30+ 				QuestionTitleSlug :  row .QuestionTitleSlug ,
31+ 				SolutionPath :       fmt .Sprintf ("[Go](https://github.com/halfrost/LeetCode-Go/tree/master/leetcode/%v)" , fmt .Sprintf ("%04d.%v" , solutionIds [i ], strings .Replace (strings .TrimSpace (row .QuestionTitle ), " " , "-" , - 1 ))),
32+ 				Acceptance :         row .Acceptance ,
33+ 				Difficulty :         row .Difficulty ,
34+ 				Frequency :          row .Frequency ,
35+ 			}
2836		} else  {
29- 			fmt .Printf ("序号出错了 len(solutionIds) = %v len(mdrows) = %v len(solutionIds) = %v solutionIds[i] = %v id = %v - %v\n " , len (solutionIds ), len (mdrows ), len (solutionIds ), solutionIds [i ], id , mdrows [solutionIds [i ]- 1 ].QuestionTitle )
37+ 			fmt .Printf ("序号不存在 len(solutionIds) = %v len(mdrows) = %v len(solutionIds) = %v solutionIds[i] = %v QuestionTitle = %v\n " , len (solutionIds ), len (mdrows ), len (solutionIds ), solutionIds [i ], mdrows [solutionIds [i ]- 1 ].QuestionTitle )
38+ 		}
39+ 	}
40+ 	for  i  :=  range  mdrows  {
41+ 		mdrows [i ] =  Mdrow {
42+ 			FrontendQuestionID : mdrows [i ].FrontendQuestionID ,
43+ 			QuestionTitle :      mdrows [i ].QuestionTitle ,
44+ 			QuestionTitleSlug :  mdrows [i ].QuestionTitleSlug ,
45+ 			SolutionPath :       mdMap [int (mdrows [i ].FrontendQuestionID )].SolutionPath ,
46+ 			Acceptance :         mdrows [i ].Acceptance ,
47+ 			Difficulty :         mdrows [i ].Difficulty ,
48+ 			Frequency :          mdrows [i ].Frequency ,
3049		}
3150	}
51+ 	// fmt.Printf("mdrows = %v\n\n", mdrows) 
3252}
3353
3454// | 0001 | Two Sum  | [Go](https://github.com/halfrost/LeetCode-Go/tree/master/leetcode/0001.Two-Sum)| 45.6%  | Easy | | 
0 commit comments