ভিডিওতে দেখো — YouTube @algonur_com
কোড
Python
def productExceptSelf(nums: list[int]) -> list[int]:
n = len(nums)
res = [1] * n
prefix = 1
for i in range(n):
res[i] = prefix
prefix *= nums[i]
suffix = 1
for i in range(n - 1, -1, -1):
res[i] *= suffix
suffix *= nums[i]
return resJava
public int[] productExceptSelf(int[] nums) {
int n = nums.length;
int[] res = new int[n];
Arrays.fill(res, 1);
int prefix = 1;
for (int i = 0; i < n; i++) { res[i] = prefix; prefix *= nums[i]; }
int suffix = 1;
for (int i = n-1; i >= 0; i--) { res[i] *= suffix; suffix *= nums[i]; }
return res;
}Kotlin
fun productExceptSelf(nums: IntArray): IntArray {
val n = nums.size; val res = IntArray(n) { 1 }
var prefix = 1
for (i in 0 until n) { res[i] = prefix; prefix *= nums[i] }
var suffix = 1
for (i in n-1 downTo 0) { res[i] *= suffix; suffix *= nums[i] }
return res
}C++
vector<int> productExceptSelf(vector<int>& nums) {
int n = nums.size();
vector<int> res(n, 1);
int prefix = 1;
for (int i = 0; i < n; i++) { res[i] = prefix; prefix *= nums[i]; }
int suffix = 1;
for (int i = n-1; i >= 0; i--) { res[i] *= suffix; suffix *= nums[i]; }
return res;
}C
int* productExceptSelf(int* nums, int n, int* retSize) {
int* res = (int*)malloc(n * sizeof(int));
for (int i = 0; i < n; i++) res[i] = 1;
int prefix = 1;
for (int i = 0; i < n; i++) { res[i] = prefix; prefix *= nums[i]; }
int suffix = 1;
for (int i = n-1; i >= 0; i--) { res[i] *= suffix; suffix *= nums[i]; }
*retSize = n; return res;
}জটিলতা
O(n)
সময় — অ্যারেটা একবারই ঘুরি, ম্যাপে খোঁজা O(1)।
O(1)
জায়গা — সবচেয়ে খারাপ ক্ষেত্রে সব সংখ্যা ম্যাপে থাকে।
আগের সমস্যা← Encode and Decode Stringsপরের সমস্যাValid Sudoku →