所謂的兩字串互為 Anagrams ,意思就是兩個字串中,字母出現的次數都一樣,只是位置不同,比如題目說的 ate 、 eat 、 tea 它們就都互為 Anagrams 。如何判斷兩字串是否互為 Anagrams 是關鍵解題點,這題雖然歸為 Medium ,但是偏向 easy 的,需要注意的點是:

  • 熟悉一些 java 內建常用的字串處理 function ,寫起來會比較簡潔。
  • 想到使用 map 結構來儲存分組資料。

Continue reading

這題我看起來也是很技巧性的題目,一開始要把 subarray 的特性掌握的淋漓盡致,並且想到用 hashmap 來建立快速查找關係,真的有點困難…但也是這道題的魅力吧 ! 基本上 hashmap 題目大概都會偏向這種步驟應用,多注意可以讓自己視野開闊。

Continue reading

使用 HashMap 的方法 :

computeIfAbsent(K key, Function remappingFunction)

其中 remappingFunction 是一個 Functional interface

  • input 為 map 的 key
  • output 會成為 map 的 value

HashMap 的 computeIfAbsent 方法,在 key 不存在時,會做 remappingFunction 的操作,所以再也不會因為漏寫 if x == null 而出現空指針的 bug 了。

Continue reading

Author's picture

李昀陽 YunYang Lee

Welcome to my Tech Note. You can read some of the chapters below.

Software Engineer

Taiwan