当前位置: 首页 > news >正文

珲春建设银行网站推广方式

珲春建设银行网站,推广方式,上饶有哪些做网站的店,兴化网站制作78.子集 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出:[[],[1],[2],[1…

78.子集

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
示例 1:
输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]

import java.util.ArrayList;
import java.util.List;class Solution {private List<Integer> path = new ArrayList<>();private List<List<Integer>> res = new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {backTrace(nums, 0);return res;}private void backTrace(int[] nums, int start) {res.add(new ArrayList<>(path));if (start >= nums.length) {return;}for (int i = start; i < nums.length; i++) {path.add(nums[i]);backTrace(nums, i + 1);path.remove(path.size() - 1);}}
}

90.子集II

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。
示例 1:
输入:nums = [1,2,2]
输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;class Solution {private List<Integer> path = new ArrayList<>();private List<List<Integer>> res = new ArrayList<>();public List<List<Integer>> subsetsWithDup(int[] nums) {Arrays.sort(nums);backTrace(nums, 0);return res;}private void backTrace(int[] nums, int start) {res.add(new ArrayList<>(path));if (start == nums.length) {return;}for (int i = start; i < nums.length; i++) {if (i > start && nums[i] == nums[i - 1]) {continue;}path.add(nums[i]);backTrace(nums, i + 1);path.remove(path.size() - 1);}}
}

去重需要先对数组进行排序,可别忘记了!!!
这里要求有重复元素的集合,同一个树层上的元素不能重复,同一个树枝(上下)上可以取重复

491.递增子序列

给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。
数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。
示例 1:
输入:nums = [4,6,7,7]
输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]
示例 2:
输入:nums = [4,4,3,2,1]
输出:[[4,4]]

class Solution {public List<List<Integer>> findSubsequences(int[] nums) {backTracing(nums, 0);return res;}private List<Integer> path = new ArrayList<>();private List<List<Integer>> res = new ArrayList<>();private void backTracing(int[] nums, int start) {if (path.size() > 1) {res.add(new ArrayList<>(path));}if (start == nums.length) {return;}Map<Integer, Integer> map = new TreeMap<>();for (int i = start; i < nums.length; i++) {if ((path.size() > 0 && nums[i] < path.get(path.size() - 1)) || map.containsKey(nums[i])) {continue;}map.put(nums[i], 0);path.add(nums[i]);backTracing(nums, i + 1);path.remove(path.size() - 1);}}
}

注意这道题不可以进行排序,子集问题又需要去重,以前的排列之后判断是不是和前一个相同的逻辑不适用了,这里每层用一个map记录数组中的元素是不是出现过,出现过的不再使用,并且要保证递增序列,在每个元素放进path的时候和path中的最后一个元素比较,小就不再进行递归了,这一枝截断!

http://www.mnyf.cn/news/46292.html

相关文章:

  • 两个相同的网站对做优化有帮助seo项目分析
  • 南阳手机网站推广接外贸订单的渠道平台哪个好
  • 网络热点事件舆情案例天津海外seo
  • idea做一个自己的网站教程百度搜索数据统计
  • 做押韵句子的网站seo软文是什么
  • 无锡网站制作公司seo怎么做新手入门
  • 张家口做网站的企业员工培训总结
  • 加外链网站西安百度公司开户
  • 做哪些网站流量大浙江网站建设推广
  • 大型网站建设教程网站访问量查询工具
  • 安庆建设银行网站商业推广费用一般多少
  • 如何做企业推广seo外链优化
  • 学做面食最好的网站浏览器里面信息是真是假
  • 灯塔网站制作公司seo项目优化案例分析文档
  • 做域名代理网站如何提高seo关键词排名
  • 个人网站欣赏google权重查询
  • 换公司网站域名要改吗长沙正规关键词优化价格从优
  • 学做前端的网站网站推广服务商
  • 网站开发前期工作网店代运营公司哪家好
  • 医疗机构网站以患者做宣传百度网络营销的概念
  • 网站流量统计实现怎么做百度推广的代理
  • 对php网站开发技术课程总结搜索引擎优化趋势
  • 苏州优化网站哪家好国外网站seo
  • 网站新建设请示关键词优化排名软件s
  • wordpress前台管理seo搜索引擎优化薪资
  • 如何利用站群做网站河南it渠道网
  • 网上开店铺需要什么流程马鞍山网站seo
  • php商业网站制作营销文案
  • 修改仪表盘WordPress成都关键词优化排名
  • 做网站意义和目的百度官网认证免费