LeetCode - Rings and Rods #2103 Easy

更新 發佈閱讀 3 分鐘

刷題筆記 Easy

題目說明:總共有 10 根竿子,3 種顏色,給予一 string 名為 rings,Ex: R0G1B2

意思是 第1根( index = 0 )有一個戒子,第2根( index = 1)有一個戒子,第3根(index = 2)有一個戒子

目標:回傳有幾根竿子同時有三個顏色的戒子

限制:

  • rings.length == 2 * n
  • 1 <= n <= 100
  • rings[i] where i is even is either 'R', 'G', or 'B' (0-indexed).
  • rings[i] where i is odd is a digit from '0' to '9' (0-indexed).
  1. 新增一個 array 總共 10 位,因為題目有限制竿子最多 10支
  2. array 裡面每一個位子0都預設 0,用於之後目標竿子戒子就 +1
  3. 因為 rings 裡面有可能會重複, ex: R0G1R0 所以要濾掉重複的,採用 new Set()
  4. 要將 rings 這個文字拆分成 R0 G1 B2 這樣的 array,採用 split
  5. 而 split 的內容則是 regex /(?=[RGB])/
  6. 用 reduce 跌代每個不重複的( 用 set 濾掉了)顏色戒子 ex : [R1,G2,B8]
 const countPoints = function(rings) {
  const arr = Array(10).fill(0)
  
  return [...new Set(rings.split(/(?=[RGB])/))].reduce((count, [, rod]) =>{
    if(arr[rod] == 2) count++
    // 如果 arr[rod] 第rod根竿子已經是2了,而再度造訪代表現在就是第3個,也就是說湊滿一根竿子3種顏色的條件,所以直接 count++
    else arr[rod]++
    return count
  }, 0)
}
留言
avatar-img
留言分享你的想法!
avatar-img
Eason的沙龍
0會員
1內容數
你可能也想看
Thumbnail
一位長期推廣閱讀寫作、經營多個平臺,也是《30Days愛自己的小練習》作者,分享首次親自體驗蝦皮購物的歷程。以「網購小白」的角度,詳細介紹了蝦皮平臺操作的便利性,分享了加入分潤的七大好處、賺錢的五大撇步。文章穿插了雙12活動、購物連結及分潤連結,極具參考價值。
Thumbnail
一位長期推廣閱讀寫作、經營多個平臺,也是《30Days愛自己的小練習》作者,分享首次親自體驗蝦皮購物的歷程。以「網購小白」的角度,詳細介紹了蝦皮平臺操作的便利性,分享了加入分潤的七大好處、賺錢的五大撇步。文章穿插了雙12活動、購物連結及分潤連結,極具參考價值。
Thumbnail
(一)分享曾經在蝦皮買過的好物 這是一個真實的故事,筆者大約每半年會去蝦皮網站購買一種叫做永樂健的酵素,這是日本製造原裝進口的酵素,有兩種以上的口味(橘子口味、優酪乳口味),我都買橘子口味的,比較好吃,因為是台灣出貨,很快就會寄來。每次買30包,店家又加贈2包,等於擁有32包。
Thumbnail
(一)分享曾經在蝦皮買過的好物 這是一個真實的故事,筆者大約每半年會去蝦皮網站購買一種叫做永樂健的酵素,這是日本製造原裝進口的酵素,有兩種以上的口味(橘子口味、優酪乳口味),我都買橘子口味的,比較好吃,因為是台灣出貨,很快就會寄來。每次買30包,店家又加贈2包,等於擁有32包。
Thumbnail
雙12即將來襲!今年不只是要買東買西,還要變身購物專家,就由我來推薦大家購物清單,裡面還有開箱文給大家參考。先來一個讓人逛街腳底舒服的「舒壓腳底按摩輪」,數位遊牧一定要帶的「無印良品筆電防震提袋」,讓我想去咖啡廳寫文章帶了就走,再來是居安思危、防災必備的 MVP「3Coins 手搖式收音機」,它還有
Thumbnail
雙12即將來襲!今年不只是要買東買西,還要變身購物專家,就由我來推薦大家購物清單,裡面還有開箱文給大家參考。先來一個讓人逛街腳底舒服的「舒壓腳底按摩輪」,數位遊牧一定要帶的「無印良品筆電防震提袋」,讓我想去咖啡廳寫文章帶了就走,再來是居安思危、防災必備的 MVP「3Coins 手搖式收音機」,它還有
Thumbnail
題目敘述 Combination Sum II_Leetcode #40 給定一個整數陣列candidates 和 目標值target。 每個陣列元素只能選擇一次,請問有多少種組合方法,可以使得組合數總和 = target? 請把滿足組合數總和 = target的組合方法以陣列的形式返回答案
Thumbnail
題目敘述 Combination Sum II_Leetcode #40 給定一個整數陣列candidates 和 目標值target。 每個陣列元素只能選擇一次,請問有多少種組合方法,可以使得組合數總和 = target? 請把滿足組合數總和 = target的組合方法以陣列的形式返回答案
Thumbnail
題目會給定一個陣列nums和一個目標值goal。計算子陣列總和=goal的數目有多少。演算法包含前綴和和字典的技巧,時間複雜度為O(n),空間複雜度為O(n)。
Thumbnail
題目會給定一個陣列nums和一個目標值goal。計算子陣列總和=goal的數目有多少。演算法包含前綴和和字典的技巧,時間複雜度為O(n),空間複雜度為O(n)。
Thumbnail
題目敘述 題目會給定一個鏈結串列的起始點,要求我們把其中區間總和為0的部分刪除掉。 例如 1→ 2 → -2 → 3 → 4 裡面有一段是2 → -2 區間總和為零,所以簡化刪除後變成 1→ 3 → 4 題目的原文敘述 測試範例 Example 1: Input: head
Thumbnail
題目敘述 題目會給定一個鏈結串列的起始點,要求我們把其中區間總和為0的部分刪除掉。 例如 1→ 2 → -2 → 3 → 4 裡面有一段是2 → -2 區間總和為零,所以簡化刪除後變成 1→ 3 → 4 題目的原文敘述 測試範例 Example 1: Input: head
Thumbnail
題目敘述 題目會給我們一個輸入整數陣列arr,和一個初始化的刪除次數k? 我們可以任意選擇從arr中刪除k個陣列元素,請問最後留下來的數字,最少會有幾個不同的數字? 註: 最後不同的數字越少越好。 題目的原文敘述 測試範例 Example 1: Input: arr = [5,5
Thumbnail
題目敘述 題目會給我們一個輸入整數陣列arr,和一個初始化的刪除次數k? 我們可以任意選擇從arr中刪除k個陣列元素,請問最後留下來的數字,最少會有幾個不同的數字? 註: 最後不同的數字越少越好。 題目的原文敘述 測試範例 Example 1: Input: arr = [5,5
Thumbnail
題目敘述 題目會給我們一個參數k 和 目標值n。 請問我們從1~9內挑k個相異的數字,使得他們的總和為n 的組合數有多少? 挑選時,每個數字必須相異,而且每個數字只能選一次。 題目的原文敘述 測試範例 Example 1: Input: k = 3, n = 7 Output: [
Thumbnail
題目敘述 題目會給我們一個參數k 和 目標值n。 請問我們從1~9內挑k個相異的數字,使得他們的總和為n 的組合數有多少? 挑選時,每個數字必須相異,而且每個數字只能選一次。 題目的原文敘述 測試範例 Example 1: Input: k = 3, n = 7 Output: [
Thumbnail
題目敘述 題目會給定一個整數陣列arr,要求我們判斷是否每個元素的出現次數都不同? 題目的原文敘述 測試範例 Example 1: Input: arr = [1,2,2,1,1,3] Output: true Explanation: The value 1 has 3 occurre
Thumbnail
題目敘述 題目會給定一個整數陣列arr,要求我們判斷是否每個元素的出現次數都不同? 題目的原文敘述 測試範例 Example 1: Input: arr = [1,2,2,1,1,3] Output: true Explanation: The value 1 has 3 occurre
Thumbnail
題目敘述 題目會給我們一個整數陣列,裡面包含各種正整數,每回合可以消去兩個相同的數字,或者消去三個相同的數字。問最少需要幾次消去,才能讓陣列為空? 如果無解,則返回-1 詳細的題目可在這裡看到 測試範例 Example 1: Input: nums = [2,3,3,2,2,4,2,3,
Thumbnail
題目敘述 題目會給我們一個整數陣列,裡面包含各種正整數,每回合可以消去兩個相同的數字,或者消去三個相同的數字。問最少需要幾次消去,才能讓陣列為空? 如果無解,則返回-1 詳細的題目可在這裡看到 測試範例 Example 1: Input: nums = [2,3,3,2,2,4,2,3,
Thumbnail
題目會給我們一個字串陣列nums,內容都是二進位字串,要求我們造出一個另一個相等長度,新的二進位字串,而且不和字串陣列nums內的重複。 答案可能有不只一組,回傳合任一組合法的答案皆可。
Thumbnail
題目會給我們一個字串陣列nums,內容都是二進位字串,要求我們造出一個另一個相等長度,新的二進位字串,而且不和字串陣列nums內的重複。 答案可能有不只一組,回傳合任一組合法的答案皆可。
Thumbnail
題目會給定我們一個陣列,要求我們重新安排順序,把等於零的數字搬到後面。 同時必須保持原本數字的前後相對次序。
Thumbnail
題目會給定我們一個陣列,要求我們重新安排順序,把等於零的數字搬到後面。 同時必須保持原本數字的前後相對次序。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News