LeetCode 1570. 两个稀疏向量的点积(哈希)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1570. 两个稀疏向量的点积(哈希)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給定兩個稀疏向量,計算它們的點積(數量積)。
實現類 SparseVector:
- SparseVector(nums) 以向量 nums 初始化對象。
- dotProduct(vec) 計算此向量與 vec 的點積。
稀疏向量 是指絕大多數分量為 0 的向量。
你需要 高效 地存儲這個向量,并計算兩個稀疏向量的點積。
進階:當其中只有一個向量是稀疏向量時,你該如何解決此問題?
示例 1: 輸入:nums1 = [1,0,0,2,3], nums2 = [0,3,0,4,0] 輸出:8 解釋:v1 = SparseVector(nums1) , v2 = SparseVector(nums2) v1.dotProduct(v2) = 1*0 + 0*3 + 0*0 + 2*4 + 3*0 = 8示例 2: 輸入:nums1 = [0,1,0,0,0], nums2 = [0,0,0,0,2] 輸出:0 解釋:v1 = SparseVector(nums1) , v2 = SparseVector(nums2) v1.dotProduct(v2) = 0*0 + 1*0 + 0*0 + 0*0 + 0*2 = 0示例 3: 輸入:nums1 = [0,1,0,0,2,0,0], nums2 = [1,0,0,0,3,0,4] 輸出:6提示: n == nums1.length == nums2.length 1 <= n <= 10^5 0 <= nums1[i], nums2[i] <= 100來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/dot-product-of-two-sparse-vectors
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 使用 哈希 存儲非0的元素,key 是下標,value 是值
184 ms 164.6 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 1570. 两个稀疏向量的点积(哈希)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fastapi 请求文件 / 表单 /
- 下一篇: 搞懂DEtection TRanform