Menu
CoddyTech

Target Sum

Negatif olmayan tam sayılardan oluşan bir nums dizisi ve bir target tam sayısı veriliyor. Her sayının önüne bir artı veya eksi işareti koy, sıralarını koru ve ifadeyi hesapla. İfadeyi target değerine eşitleyen işaret seçimlerinin sayısını döndür. 2^n seçeneğin her biri ayrı ayrı sayılır; bu nedenle +0 ve -0 iki farklı seçimdir.

Fonksiyon

findTargetSumWays(nums: integer-array, target: integer) → integer
numsinteger-array
sayıların her biri bir işaret alır
targetinteger
ifadenin eşit olması gereken değer
Döndürürinteger
İfadesi hedefe eşit olan işaret seçeneği sayısı

Kısıtlar

  • 1 ≤ nums.length ≤ 20
  • 0 ≤ nums[i] ≤ 1000
  • The sum of nums en fazla 1000'dir.
  • -1000 ≤ target ≤ 1000
  • Yanıt en fazla 220'dir; 32 bitlik işaretli bir tamsayı sınırının oldukça içindedir.

Örnekler

Girdi
nums = [2, 1, 1]target = 2
Çıktı
2
Açıklama
+2 +1 -1 ve +2 -1 +1 ifadelerinin ikisi de 2'ye eşittir. 2'nin önünde eksi işareti olduğunda ulaşabileceğin en yüksek değer -2 + 1 + 1 = 0 olur, bu yüzden başka hiçbir seçenek işe yaramaz.
challenge icon

Ek soru

Toplama göre indekslenen hiçbir dizi belleğe sığmazken, değerleri 10^9'a kadar olan en fazla 40 sayıyı işleyebilir misin?

Kodu sıfırla
def findTargetSumWays(nums, target):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argümanlar

nums = [2, 1, 1]
target = 2

Beklenen Çıktı

2