96SEO 2026-08-13 10:30 0
LeetCode 90 — 子集 II 是一道经典的组合问题。它要求你在有重复元素的数组中生成所有不重复的子集。很多同学在实现时会遇到两大痛点:

1️⃣ 先将 nums 排序;2️⃣ 遍历所有二进制掩码,每个掩码代表一种选取方式;3️⃣ 构造当前子集时如果出现“**前一个相同元素未被选取。而当前相同元素被选取**”的情况,就跳过此掩码,以防止产生重复子集。
class Solution {
fun subsetsWithDup: List {
// 步骤①:先排序
nums.sort
val result = mutableListOf
val n = nums.size
// 步骤②:枚举所有掩码
for ) {
val subset = mutableListOf
var skip = false
// 步骤③:构造当前子集
for {
if )!= 0) { // 当前位为1 → 选取
// 判断是否需要跳过
if (i> 0 && nums == nums
&& )) == 0) {
skip = true
break
}
subset.add
}
}
if result.add
}
return result
}
}
class Solution {
private val res = mutableListOf
fun subsetsWithDup: List {
nums.sort
dfs,choosePrev = false)
return res
}
private fun dfs(
nums这方面,IntArray,index: Int,cur: MutableList,choosePrev: Boolean // 前一层是否已选择该位置
) {
if { // 到达末尾。将副本加入结果
res.add)
return
}
/* ---------- 不选该元素 ---------- */
dfs
/* ---------- 判断能否选该元素 ---------- */
if {
return // 前一个相同且未被选 → 跳过本分支以防重复
}
/* ---------- 执行 “选” 操作 ---------- */
cur.add
dfs
cur.removeAt
}
}
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback