給定一個數組A[0,1,...,n-1],請構建一個數組B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。


// test14.cpp : 定義控制台應用程序的入口點。
//

#include "stdafx.h"
#include<iostream>
#include<string>
#include<cctype>
#include <vector>
#include<exception>
#include <initializer_list>
using namespace std;

class Solution {
public:
	vector<int> multiply(const vector<int>& A) {
	
		vector<int> B;
		int mult=1;

		for (size_t i = 0; i < A.size(); i++)
		{
			for (size_t j = 0; j < A.size(); j++)
			{
				if (i != j)
					mult *= A[j];
			}
			B.push_back(mult);
			mult = 1;
		}
		return B;
	}
};

int main()
{
	
	Solution so;
//	vector<int> A = { 1,2,3,4,5,6,7,8,9,10 };
	vector<int> A = { 0,1,1,1,1,1,1,1,1,1 };
	auto B= so.multiply(A);
	for (size_t i = 0; i < A.size(); i++)
		cout << B[i] << "  ";
	cout << endl;
	return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 Leetcode練習(Python):數組類:第162題:峰值元素是指其值大於左右相鄰值的元素。 給定一個輸入數組 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素並返回其索引。 數組可能包含多個峰值,在這種情況下,返回任何一個峰值所在位置即可。 你可以假設 nums[-1] = nums[n] = -∞。 給定一個數組a[N],我們希望構造數組b[N]。。(2013騰訊實習生筆試題) 對於一個有序數組,我們通常采用二分查找的方式來定位某一元素,請編寫二分查找的算法,在數組中查找指定元素。 給定一個整數數組A及它的大小n,同時給定要查找的元素val,請返回它在數組中的位置(從0開始),若不存在該元素,返回-1。若該元素出現多次,請返回第一次出現的位置。 給定一個整數sum,從n個有序的元素的數組中尋找a,b,使得a+b的結果最接近sum,最快的時間復雜度? 現有一個數組A,對於A中的每個元素A[i],都可以進行+K或者-K的操作(每個元素僅能選擇加或減一次)。 在這個操作后,我們將得到許多不同版本的數組B。 請找出所有可能的B數組中,數組中最大值與最小值里最小的差值。 python數組操作:將一個數組中前n個元素相加並保存為另一個數組的第n個元素 在一個長度為n的數組里的所有數字都在0到n-1的范圍內。 數組中某些數字是重復的,但不知道有幾個數字是重復的。也不知道每個數字重復幾次。請找出數組中任意一個重復的數字。 例如,如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出是重復的數字2或者3 面試題:給定一個長度為N的數組,其中每個元素的取值范圍都是1到N。判斷數組中是否有重復的數字 給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重復的三元組。 刷題3:給定一個數組 nums,判斷 nums 中是否存在三個下標 a,b,c數相加等於targe且a,b,c不相等
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM