1822. Sign of the Product of an Array (數組元素積的符號)

閱讀時間約 1 分鐘


英文版點我中文版點我


↑看個小廣告,支持好內容↑



❶ Iteration

這顯然不是要我們乘開 (肯定 overflow),影響乘積正負的不外乎兩個:

  • 0:結果必為 0
  • 負數:+/- 符號變換


翻譯年糕:遇到正數乘以 1、負數乘以 -1,0 則直接輸出。如果想炫砲一點,非零值也可以用 num/Math.abs(num) 來處理。


❷ mod

除非碰到 0,否則基於負負得正,偶數個負號會彼此抵銷。

// 三元表達式:mod(2)=true 代表奇數

return 有無出現 0? 0: (負值項數%2? -1: 1);



  • 本題分類標籤:ArrayMath
  • 本題正解率=65.3%

❤️ 若內容對你實用,歡迎追蹤本專題,或小額贊助支持~
⭐ 這是我的第 17 篇刷題筆記,完整解題索引看這裡 → Here


avatar-img
54會員
59內容數
我要成為 LeetCode 王!快跟我一起踏上旅程!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
LeetCode King 的其他內容
索引很好用,但一定要做索引才能解決計數問題嗎?超車對手的機會來了!
究竟誰是 i、誰又是 j?矩陣問題務必趁腦子清楚時才解 XDD
總是記不順雙指針法的程序?畫圖跑一次給你看!
題目到底要我們做什麼?閱讀素養有多重要,試試這題就知道!
老是從頭重算可不是好法子,把加過的累積值存起來備用,這才符合 Prefix Sum 的精神!
三種做法所花的時間都不同,請試著一步步優化,在只跑一次迴圈下完成吧!
索引很好用,但一定要做索引才能解決計數問題嗎?超車對手的機會來了!
究竟誰是 i、誰又是 j?矩陣問題務必趁腦子清楚時才解 XDD
總是記不順雙指針法的程序?畫圖跑一次給你看!
題目到底要我們做什麼?閱讀素養有多重要,試試這題就知道!
老是從頭重算可不是好法子,把加過的累積值存起來備用,這才符合 Prefix Sum 的精神!
三種做法所花的時間都不同,請試著一步步優化,在只跑一次迴圈下完成吧!
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
題目敘述 Integer to English Words 給定一個整數num 請轉換成對應的的英文數字表達(One, Two, Three, ... 那種數字表達式)
Thumbnail
一、基本算術運算符號 加法:+ 減法:- 乘法:* 除法:/(返回浮點數) a = 1 b = 2 print( a + b ) # 加法 輸出:3 print( a - b ) # 減法 輸出:-1 print( a * b ) # 乘法 輸出:2 print( a / b ) #
Thumbnail
題目要求計算兩個二進位字串的相加,並以字串的形式輸出。 字串內容只包含'0'或'1'字元。 複雜度分析 時間複雜度為O(m+n),空間複雜度為O(m+n)。
今天要來討論 1 + "1" 。 如果當兩個操作數都是數字時,+ 會執行數字相加。例如,1 + 1 結果是 2。 那如果是"1"+"1",就變成字符串相加變成11。 那我們今天要講的是1 + "1",答案是11,為甚麼呢? 這是一個類型強制轉換,今天當 + 遇到不一樣的類型時,JavaScrip
Thumbnail
題目敘述 給定一個非零陣列nums,請找出陣列裡面 最大的對偶數 是誰? 如果無解,請返回-1 對偶數定義: 整數k的對偶數是-k 例如: 99 和 -99互為對偶數。
※ 質數判斷 質數:除了1跟本身,沒有其他的因數。 因數:可以整除的數字。 用到的運算符號:「%」 mod 求餘數。 整除: mod完為0,沒有餘數。 ※ 使用for迴圈 let x = 97 // 可以修改成其他數值來測試 //flag標記 let isNotPrime = false
Thumbnail
題目敘述 題目會給定一個鏈結串列的起始點,要求我們把其中區間總和為0的部分刪除掉。 例如 1→ 2 → -2 → 3 → 4 裡面有一段是2 → -2 區間總和為零,所以簡化刪除後變成 1→ 3 → 4 題目的原文敘述 測試範例 Example 1: Input: head
Thumbnail
題目敘述 題目會給定我們一個輸入陣列nums,要求我們掃描美個陣列元素nums[i],計算除了nums[i]以外的陣列元素連乘積。 題目的原文敘述 測試範例 Example 1: Input: nums = [1,2,3,4] Output: [24,12,8,6] nums[0] 以
數學中的除法常常讓人困惑,特別是為什麼不能除以0,本文以生動的例子與情境來解釋除法的概念,讓讀者更容易理解。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
題目敘述 Integer to English Words 給定一個整數num 請轉換成對應的的英文數字表達(One, Two, Three, ... 那種數字表達式)
Thumbnail
一、基本算術運算符號 加法:+ 減法:- 乘法:* 除法:/(返回浮點數) a = 1 b = 2 print( a + b ) # 加法 輸出:3 print( a - b ) # 減法 輸出:-1 print( a * b ) # 乘法 輸出:2 print( a / b ) #
Thumbnail
題目要求計算兩個二進位字串的相加,並以字串的形式輸出。 字串內容只包含'0'或'1'字元。 複雜度分析 時間複雜度為O(m+n),空間複雜度為O(m+n)。
今天要來討論 1 + "1" 。 如果當兩個操作數都是數字時,+ 會執行數字相加。例如,1 + 1 結果是 2。 那如果是"1"+"1",就變成字符串相加變成11。 那我們今天要講的是1 + "1",答案是11,為甚麼呢? 這是一個類型強制轉換,今天當 + 遇到不一樣的類型時,JavaScrip
Thumbnail
題目敘述 給定一個非零陣列nums,請找出陣列裡面 最大的對偶數 是誰? 如果無解,請返回-1 對偶數定義: 整數k的對偶數是-k 例如: 99 和 -99互為對偶數。
※ 質數判斷 質數:除了1跟本身,沒有其他的因數。 因數:可以整除的數字。 用到的運算符號:「%」 mod 求餘數。 整除: mod完為0,沒有餘數。 ※ 使用for迴圈 let x = 97 // 可以修改成其他數值來測試 //flag標記 let isNotPrime = false
Thumbnail
題目敘述 題目會給定一個鏈結串列的起始點,要求我們把其中區間總和為0的部分刪除掉。 例如 1→ 2 → -2 → 3 → 4 裡面有一段是2 → -2 區間總和為零,所以簡化刪除後變成 1→ 3 → 4 題目的原文敘述 測試範例 Example 1: Input: head
Thumbnail
題目敘述 題目會給定我們一個輸入陣列nums,要求我們掃描美個陣列元素nums[i],計算除了nums[i]以外的陣列元素連乘積。 題目的原文敘述 測試範例 Example 1: Input: nums = [1,2,3,4] Output: [24,12,8,6] nums[0] 以
數學中的除法常常讓人困惑,特別是為什麼不能除以0,本文以生動的例子與情境來解釋除法的概念,讓讀者更容易理解。