From d1b1f7bdf2dc4b7f095866492bfb4343f8e00271 Mon Sep 17 00:00:00 2001 From: YDZ Date: Mon, 15 Jul 2019 23:21:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20problem=20387?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...387. First Unique Character in a String.go | 14 ++++++ ...First Unique Character in a String_test.go | 47 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 Algorithms/0387. First Unique Character in a String/387. First Unique Character in a String.go create mode 100644 Algorithms/0387. First Unique Character in a String/387. First Unique Character in a String_test.go diff --git a/Algorithms/0387. First Unique Character in a String/387. First Unique Character in a String.go b/Algorithms/0387. First Unique Character in a String/387. First Unique Character in a String.go new file mode 100644 index 00000000..591c37f8 --- /dev/null +++ b/Algorithms/0387. First Unique Character in a String/387. First Unique Character in a String.go @@ -0,0 +1,14 @@ +package leetcode + +func firstUniqChar(s string) int { + result := make([]int, 26) + for i := 0; i < len(s); i++ { + result[s[i]-'a']++ + } + for i := 0; i < len(s); i++ { + if result[s[i]-'a'] == 1 { + return i + } + } + return -1 +} diff --git a/Algorithms/0387. First Unique Character in a String/387. First Unique Character in a String_test.go b/Algorithms/0387. First Unique Character in a String/387. First Unique Character in a String_test.go new file mode 100644 index 00000000..a400f081 --- /dev/null +++ b/Algorithms/0387. First Unique Character in a String/387. First Unique Character in a String_test.go @@ -0,0 +1,47 @@ +package leetcode + +import ( + "fmt" + "testing" +) + +type question387 struct { + para387 + ans387 +} + +// para 是参数 +// one 代表第一个参数 +type para387 struct { + n string +} + +// ans 是答案 +// one 代表第一个答案 +type ans387 struct { + one int +} + +func Test_Problem387(t *testing.T) { + + qs := []question387{ + + question387{ + para387{"leetcode"}, + ans387{0}, + }, + + question387{ + para387{"loveleetcode"}, + ans387{2}, + }, + } + + fmt.Printf("------------------------Leetcode Problem 387------------------------\n") + + for _, q := range qs { + _, p := q.ans387, q.para387 + fmt.Printf("【input】:%v 【output】:%v\n", p, firstUniqChar(p.n)) + } + fmt.Printf("\n\n\n") +}