type
status
date
slug
summary
tags
category
icon
password
494. 目标和
已解答
中等
相关标签
相关企业
给你一个非负整数数组
nums
和一个整数 target
。向数组中的每个整数前添加
'+'
或 '-'
,然后串联起所有整数,可以构造一个 表达式 :- 例如,
nums = [2, 1]
,可以在2
之前添加'+'
,在1
之前添加'-'
,然后串联起来得到表达式"+2-1"
。
返回可以通过上述方法构造的、运算结果等于
target
的不同 表达式 的数目。示例 1:
示例 2:
提示:
1 <= nums.length <= 20
0 <= nums[i] <= 1000
0 <= sum(nums[i]) <= 1000
1000 <= target <= 1000
数组 nums 的每个元素都可以添加符号 + 或 -,因此每个元素有 2 种添加符号的方法,n 个数共有
种添加符号的方法,对应 种不同的表达式。当 n 个元素都添加符号之后,即得到一种表达式,如果表达式的结果等于目标数 target,则该表达式即为符合要求的表达式。
可以使用回溯的方法遍历所有的表达式,回溯过程中维护一个计数器 count,当遇到一种表达式的结果等于目标数 target 时,将 count 的值加 1。遍历完所有的表达式之后,即可得到结果等于目标数 target 的表达式的数目。
集合的所有子集(一)_牛客题霸_牛客网 (nowcoder.com)
描述
现在有一个没有重复元素的整数集合S,求S的所有子集
注意:
你给出的子集中的元素必须按升序排列
给出的解集中不能出现重复的元素
数据范围:1≤n≤51≤n≤5,集合中的任意元素满足 ∣val∣≤10∣val∣≤10
要求:空间复杂度 O(n!)O(n!),时间复杂度 O(n!)O(n!)
示例1
输入:
[1,2,3]
复制返回值:
[[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]]
复制示例2
输入:
[]
复制返回值:
[]
- 作者:VON
- 链接:https://baisihan.asia/article/d306994b-7a59-42aa-acf8-437c8fca696e
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。