給你乙個整數陣列 nums 和乙個整數 target 。
請你統計並返回 nums 中能滿足其最小元素與最大元素的 和 小於或等於 target 的 非空 子串行的數目。
由於答案可能很大,請將結果對 10^9 + 7 取餘後返回。
首先將陣列排序,因為該題處理子串行過程只是計數,和順序無關。
class solution:
def numsubseq(self, nums: list[int], target: int) -> int:
mod=int(10**9+7)
nums.sort()
pows = [1]
for _ in range(len(nums)):
i = 0
ans = 0
j = len(nums) - 1
while true:
if i>=len(nums) or 2*nums[i]>target:
break
while j>i and nums[i]+nums[j]>target:
j-=1
ans=(ans%mod+int(pows[j-i])%mod)%mod
i+=1
return ans
1498 滿足條件的子串行數目
給你乙個整數陣列 nums 和乙個整數 target 請你統計並返回 nums 中能滿足其最小元素與最大元素的 和 小於或等於 target 的 非空 子串行的數目。由於答案可能很大,請將結果對 10 9 7 取餘後返回。1.列舉法 vmin vmax target vmin vmin2 targe...
990 等式方程的可滿足性 leetcode
給定乙個由表示變數之間關係的字串方程組成的陣列,每個字串方程 equations i 的長度為 4,並採用兩種不同的形式之一 a b 或 a b 在這裡,a 和 b 是小寫字母 不一定不同 表示單字母變數名。只有當可以將整數分配給變數名,以便滿足所有給定的方程時才返回 true,否則返回 false...
LeetCode 990 等式方程的可滿足性 中等
給定乙個由表示變數之間關係的字串方程組成的陣列,每個字串方程 equations i 的長度為 4,並採用兩種不同的形式之一 a b 或 a b 在這裡,a 和 b 是小寫字母 不一定不同 表示單字母變數名。只有當可以將整數分配給變數名,以便滿足所有給定的方程時才返回 true,否則返回 false...