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

珲春建设银行网站欧美seo查询

珲春建设银行网站,欧美seo查询,赣州建设部网站,做物品租赁网站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.15wanjia.com/news/15265.html

相关文章:

  • 网站建设 北京营销方式和渠道
  • WordPress moe acg重庆网站优化
  • 太原网站建设开发公司软文代发
  • 指点成金网发帖推广东莞seo网站排名优化
  • 缅甸网站赌博代理怎么做wp博客seo插件
  • 山东市网站建设搜索引擎优化seo培训
  • 自己做网站视频爬虫搜索引擎
  • app小程序软件定制开发实时seo排名点击软件
  • 中小型企业网站建设网络营销推广方案策划书
  • 广州专业的做网站互联网怎么打广告推广
  • 宝塔配置wordpress主题seo搜索工具栏
  • 什么叫网站建设四网合一百度云搜索引擎入口
  • 做网站客户要先看效果后付款搜索引擎的关键词优化
  • 查工作单位的网站杭州网站优化体验
  • 网站建设如何做报价网站免费建站app
  • 网站图片加alt怎么把广告发到各大平台
  • 没有网站怎样做外贸福州专业的seo软件
  • 站长工具seo综合查询源码百度免费广告发布平台
  • 网站制作真人游戏娱乐平台怎么做东莞网站优化公司哪家好
  • js 抽奖网站网站结构
  • 免费注册网站网址新东方教育培训机构官网
  • 网站怎么做缓存国家新闻最新消息今天
  • 万网官网登录入口seo关键词优化系统
  • 品牌宣传网站百度推广费2800元每年都有吗
  • php源码网站建设教程谷歌搜索引擎优化seo
  • 海口建站百度q3财报减亏170亿
  • 青岛市医疗保险网站开网站怎么开
  • 动画制作app推荐seo网站排名
  • 宁波外发加工网南宁网站建设优化服务
  • bootstrap 风格网站企业推广网站有哪些