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

专业网站制作公司排行seo网页优化培训

专业网站制作公司排行,seo网页优化培训,装修公司口碑好的公司,网站怎么做百度排名文章目录 491. 非递减子序列解题思路源码 46. 全排列解题思路源码 47. 全排列 II解题思路源码 总结 491. 非递减子序列 给你一个整数数组 nums #xff0c;找出并返回所有该数组中不同的递增子序列#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 … 文章目录 491. 非递减子序列解题思路源码 46. 全排列解题思路源码 47. 全排列 II解题思路源码 总结 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]] 提示 1 nums.length 15-100 nums[i] 100 解题思路 跟之前的子集II很像但是不能用它的去重逻辑本题求自增子序列是不能对原数组进行排序的排完序的数组都是自增子序列了。 源码 class Solution {ListListInteger result new ArrayList();ListInteger path new ArrayList();public ListListInteger findSubsequences(int[] nums) {backTracking(nums, 0);return result;}private void backTracking(int[] nums, int startIndex){if(path.size() 2)result.add(new ArrayList(path)); HashSetInteger hs new HashSet();for(int i startIndex; i nums.length; i){if(!path.isEmpty() path.get(path.size() -1 ) nums[i] || hs.contains(nums[i]))continue;hs.add(nums[i]);path.add(nums[i]);backTracking(nums, i 1);path.remove(path.size() - 1);}} }46. 全排列 给定一个不含重复数字的数组 nums 返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1 输入nums [1,2,3]输出[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2 输入nums [0,1]输出[[0,1],[1,0]] 示例 3 输入nums [1]输出[[1]] 提示 1 nums.length 6-10 nums[i] 10nums 中的所有整数 互不相同 解题思路 典型的排列问题回溯搜索代替for来暴力实现 源码 class Solution {ListListInteger result new ArrayList();LinkedListInteger path new LinkedList();boolean[] used;public ListListInteger permute(int[] nums) {if (nums.length 0){return result;}used new boolean[nums.length];permuteHelper(nums);return result;}private void permuteHelper(int[] nums){if (path.size() nums.length){result.add(new ArrayList(path));return;}for (int i 0; i nums.length; i){if (used[i]){continue;}used[i] true;path.add(nums[i]);permuteHelper(nums);path.removeLast();used[i] false;}} }47. 全排列 II 给定一个可包含重复数字的序列 nums 按任意顺序 返回所有不重复的全排列。 示例 1 输入nums [1,1,2]输出 [[1,1,2], [1,2,1], [2,1,1]] 示例 2 输入nums [1,2,3]输出[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 提示 1 nums.length 8-10 nums[i] 10 解题思路 这道题目和46.全排列 的区别在与给定一个可包含重复数字的序列要返回所有不重复的全排列。 这里又涉及到去重了。 在40.组合总和II 、90.子集II 我们分别详细讲解了组合问题和子集问题如何去重。 那么排列问题其实也是一样的套路。 还要强调的是去重一定要对元素进行排序这样我们才方便通过相邻的节点来判断是否重复使用了。 源码 class Solution {ListListInteger result new ArrayList();ListInteger path new ArrayList();public ListListInteger permuteUnique(int[] nums) {boolean[] used new boolean[nums.length];Arrays.fill(used, false);Arrays.sort(nums);backTrack(nums, used);return result;}private void backTrack(int[] nums, boolean[] used) {if (path.size() nums.length) {result.add(new ArrayList(path));return;}for (int i 0; i nums.length; i) {if (i 0 nums[i] nums[i - 1] used[i - 1] false) {continue;}if (used[i] false) {used[i] true;path.add(nums[i]);backTrack(nums, used);path.remove(path.size() - 1);used[i] false;}}} }总结
http://www.hkea.cn/news/14494092/

相关文章:

  • 怎么做网站在里面填字织梦贷款网站模板
  • 找做网站的人网站主题包括
  • 建销售网站需要多少钱佛山网站网站建设
  • 合肥专业手机网站制作价格湖北省建设厅政务公开网站
  • 网站后台尺寸一般做多大的建站网址不安全
  • 如何查看网站服务器时间wordpress有名的网站
  • 任意做别的公司网站销售产品违法吗上海营业执照注册
  • 岳阳建设局网站研发项目管理系统
  • 如何制作微信下单小程序河源网站页面优化ppt
  • 微信认证 网站wordpress页面参数
  • 吉林企业网站模板建站哪个好杭州网站建设设计公司
  • 网站系统制作教程58同城做网站被骗
  • c mvc制作网站开发中企动力科技股份有限公司苏州分公司
  • 做什么网站好沈阳网站seo公司
  • 大连建设工程设计院有限公司网站wordpress 3.0主题
  • 网站开发项目具体的流程wordpress激活码注册插件
  • 可商用的设计网站城市建设模拟游戏网站中文注解
  • php与mysql网站开发...网页制作包括哪些内容
  • 网站型和商城型有什么区别商城软件开发多少钱
  • 杭州网站忧化wordpress排队加载
  • 网上下载的网站模板怎么用网站建设与管理课程实训
  • 网站建设分几块宝安中心区范围
  • 网站开发结束语公司域名查询官方网站
  • 品牌设计网站机械公司网站模板
  • 网站建设好了却收不到网站推荐男生正能量2021
  • 能打开的网站张店网站开发招聘
  • 做电锯电音的网站如何自己创建一个网址
  • 网上医疗和医院网站建设自己网站制作
  • 服装租赁 网站 php设计平面广告
  • wordpress 开店seo全网优化推广