算法-除自身以外數組的乘積

力扣題目:238. 除自身以外數組的乘積 - 力扣(LeetCode)

題目描述:

給你一個整數數組?nums,返回 數組?answer?,其中?answer[i]?等于?nums?中除?nums[i]?之外其余各元素的乘積?。

題目數據 保證 數組?nums之中任意元素的全部前綴元素和后綴的乘積都在? 32 位 整數范圍內。

請?不要使用除法,且在?O(n) 時間復雜度內完成此題。

示例 1:

輸入: nums = [1,2,3,4]
輸出: [24,12,8,6]

示例 2:

輸入: nums = [-1,1,0,-3,3]
輸出: [0,0,9,0,0]

提示:

  • 2 <= nums.length <= 10^5
  • -30 <= nums[i] <= 30
  • 輸入?保證 數組?answer[i]?在? 32 位 整數范圍內

進階:你可以在 O(1)?的額外空間復雜度內完成這個題目嗎?( 出于對空間復雜度分析的目的,輸出數組?不被視為?額外空間。)

算法如下:


//求除自身以外的其它數的乘積class Solution {public int[] productExceptSelf(int[] nums) {int L=nums.length;int[] left=new int[L];int[] right=new int[L];//左側left[0]=1;for(int i=1;i<L;i++){left[i]=nums[i-1]*left[i-1];}//右側right[L-1]=1;for(int i=L-2;i>=0;i--){right[i]=right[i+1]*nums[i+1];}//查索引返回int[] answer=new int[L];for(int i=0;i<L;i++){answer[i]=left[i]*right[i];}return answer;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898133.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898133.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898133.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Unity Shader - UI Sprite Shader之簡單摳圖效果

Sprite摳圖效果&#xff1a; 前言 在PhotoShop中我們經常會用到摳圖操作&#xff0c;現在就用Shader實現一個簡單的摳圖效果。 實現原理&#xff1a; 使用當前像素顏色與需要摳掉的顏色相減作比較&#xff0c;然后與一個指定的閾值比較以決定是否將其顯示出來&#xff1b; U…

【Mac】安裝 Parallels Desktop、Windows、Rocky Linux

一、安裝PD 理論上&#xff0c;PD只支持試用15天&#xff01;當然&#xff0c;你懂的。 第一步&#xff0c;在 Parallels Desktop for Mac 官網 下載 Install Parallels Desktop.dmg第二步&#xff0c;雙擊 Install Parallels Desktop.dmg 第三步&#xff0c;雙擊安裝Paralle…

學習單片機需要多長時間才能進行簡單的項目開發?

之前有老鐵問我&#xff0c;學單片機到底要多久&#xff0c;才能進行簡單的項目開發&#xff1f;是三個月速成&#xff0c;還是三年磨一劍&#xff1f; 今天咱們就來聊聊這個話題&#xff0c;我不是什么高高在上的專家&#xff0c;就是個踩過無數坑、燒過幾塊板子的“技術老友”…

pyqt 上傳文件或者文件夾打包壓縮文件并添加密碼并將密碼和目標文件信息保存在json文件

一、完整代碼實現 import sys import os import json import pyzipper from datetime import datetime from PyQt5.QtWidgets import (QApplication, QWidget, QVBoxLayout, QHBoxLayout,QPushButton, QLineEdit, QLabel, QFileDialog,QMessageBox, QProgressBar) from PyQt5.…

centos操作系統上傳和下載百度網盤內容

探序基因 整理 進入百度網盤官網百度網盤 客戶端下載 下載linux的rpm格式的安裝包 在linux命令行中輸入&#xff1a;rpm -ivh baidunetdisk_4.17.7_x86_64.rpm 出現報錯&#xff1a; 錯誤&#xff1a;依賴檢測失敗&#xff1a; libXScrnSaver 被 baidunetdisk-4.17.7-1.x8…

LeetCode134?加油站

關聯LeetCode題號134 本題特點 貪心局部最優解-部分差值 如果小于0&#xff08;消耗大于油站油量&#xff09; 就從下一個加油站開始&#xff0c;因為如果中間有小于0的情況 當前站就不可能是始發站&#xff0c;整體最優解-整體差值 如果小于0 &#xff0c;那么就是不能有始發…

基于 Verilog 的時序設計:從理論到實踐的深度探索

在數字電路設計領域,時序設計是一個至關重要的環節,它涉及到組合邏輯電路與時序邏輯電路的設計差異、時鐘信號的運用以及觸發器的工作原理等多個方面。本文將圍繞基于 Verilog 的時序設計實驗展開,詳細闡述實驗過程、代碼實現以及結果分析,幫助讀者深入理解時序設計的核心概…

藍牙系統的核心組成解析

一、硬件層&#xff1a;看得見的物理載體 1. 射頻模塊&#xff08;Radio Frequency Module&#xff09; 專業描述&#xff1a;工作在2.4GHz ISM頻段&#xff0c;支持GFSK/π/4 DQPSK/8DPSK調制方式 功能類比&#xff1a;相當于人的"嘴巴"和"耳朵" 發射端…

獵豹移動(Cheetah Mobile)

本文來自騰訊元寶 公司背景與發展歷程 ?成立與早期定位 獵豹移動成立于2010年11月&#xff0c;由金山安全與可牛影像合并而成&#xff0c;初期以移動安全工具和清理軟件為核心業務。其明星產品包括《獵豹清理大師》&#xff08;Clean Master&#xff09;和《獵豹瀏覽器》&…

go的gmp

參考鏈接&#xff1a;https://www.bilibili.com/video/BV19r4y1w7Nx Golang的GMP調度模型(協程調度器)是其并發編程的核心。GMP代表Goroutine、Machine和Processor三個關鍵組成部分。Goroutine是Go語言中的輕量級線程&#xff0c;Machine是操作系統的線程&#xff0c;Processor…

Vue3-高級特性

一、Vue中自定義指令 1.認識自定義指令 在Vue的模板語法中我們學習過各種各樣的指令&#xff1a;v-show、v-for、v-model等等&#xff0c;除了使用這些指令之外&#xff0c;Vue也允許我們來 自定義自己的指令。 注意&#xff1a;在Vue中&#xff0c;代碼的復用和抽象主要還是…

【量化策略】動量突破策略

【量化策略】動量突破策略 &#x1f680;量化軟件開通 &#x1f680;量化實戰教程 技術背景與應用場景 動量突破策略是一種基于市場趨勢的量化交易策略&#xff0c;它通過識別資產價格的動量變化來預測未來的價格走勢。這種策略適用于那些價格波動較大、趨勢明顯的市場環境…

基于CPLD電力/軌道交通3U機箱開關量輸出板(DO)

板卡簡介&#xff1a; 本板為開關量輸出板&#xff08;DO&#xff09;&#xff0c;采用固態繼電器用于電平輸出或負載驅動&#xff0c;典型輸出高電平為DC110V&#xff0c;低電平為0V。 性能規格&#xff1a; 電源&#xff1a;DC5V&#xff0c;DC3.3V&#xff0c;DC15V&#…

【C++經典例題】反轉字符串中單詞的字符順序:兩種實現方法詳解

&#x1f493; 博客主頁&#xff1a;倔強的石頭的CSDN主頁 &#x1f4dd;Gitee主頁&#xff1a;倔強的石頭的gitee主頁 ? 文章專欄&#xff1a;C經典例題 期待您的關注 目錄 問題描述 基于快慢指針的解法 基于索引的解法 兩種方法的比較 問題描述 在處理字符串相關的問題…

Java基礎語法練習45(網絡編程)

目錄 一、網絡的相關概念 1.網絡通信 2.網絡 3.ip 地址 4.ipv4 地址分類 5.域名 6.網絡通信協議 7.TCP 和 UDP 二、InetAddress類 1.相關方法 2.代碼示例如下&#xff1a; 三、Socket 1.基本介紹 四、TCP 網絡通信編程 1.基本介紹 2.應用示例&#xff1a; 2.1…

【Json—RPC框架】:宏定義不受命名空間限制,續行符的錯誤使用造成的bug

為什么不受命名空間的限制&#xff1f; 宏處理在預處理階段&#xff0c; 預處理在編譯之前&#xff0c;編譯才進行語法分析&#xff0c;語義分析。命名空間也只能限制這部分。 在Json-RPC框架的實現中&#xff0c;遇到如下問題。一開始以為是在實現日志宏的時候&#xff0c;有…

四川省包含哪些水系

背景&#xff1a; 想知道四川省包含哪些水系&#xff0c;以及各個水系的分布&#xff0c;起點、流經省市、終點等 {label: "嘉陵江",value: "嘉陵江",},{label: "渠江",value: "渠江",},{label: "涪江",value: "涪江&q…

子序列問題寫法

子序列問題可以按照動態規劃的思想去寫。 子序列問題類型 子序列 是由數組派生而來的序列&#xff0c;刪除&#xff08;或不刪除&#xff09;數組中的元素而不改變其余元素的順序。 例如&#xff0c;[3,6,2,7] 是數組 [0,3,1,6,2,2,7] 的子序列。 寫法思路 創建兩層for循環…

C++ primer plus 使用類下

目錄 前言 一 轉換函數 總結 前言 接著上一章的內容 一 轉換函數 接著我們上一章節的內容&#xff0c;我們知道我們類里面有一個自動轉換利用這個運算符&#xff0c;這樣就可以使得對象可以接受這個值 那么有沒有可以使一個普通類型去接收一個對象呢&#xff1f; 答案是…

聲網自研算法如何重定義AI交互容災標準

在咖啡廳里&#xff0c;當我把手機置于咖啡機與微波爐形成的電磁干擾區時&#xff0c;WiFi丟包率飆升至83%&#xff0c;但AI的回應延遲僅從1.2秒增至1.4秒。這背后是聲網自研的Phoenix抗弱網算法在發揮作用&#xff0c;通過AI驅動的動態FEC&#xff08;前向糾錯&#xff09;機制…