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

专业网站制作公司排行湖南响应式官网建设哪家好

专业网站制作公司排行,湖南响应式官网建设哪家好,ninety wordpress插件,网站明链怎么做文章目录 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/14553168/

相关文章:

  • 建设网站怎么收费标准建浏览器网站制作
  • 柳州网站建设多少钱网页制作全部过程
  • 网站策划需要具备什么自己做微博的网站
  • 浏览不良网站会被网警抓吗永久免费网站建设
  • 网站原型图设计南京网页设计照片
  • 细谈电商网站外链建设的策略石家庄网站设计制作
  • 百度小程序还需要做网站吗网页制作与设计专业
  • 导航网站教程网站免费优化
  • 建个网站做网络推广要花多少钱郑州网站优化公司排名
  • 西安宝马建设科技股份有限公司网站游戏开发大亨最佳搭配
  • 公司做网站怎么推广软件系统开发合同
  • 爱站网功能discuz做网站赚钱经历
  • 站酷网站建设社交网站wap模板
  • dede地方门户网站模板重庆公章备案查询网站
  • 青岛网站设计哪家好国土政务网站建设制度
  • 关于建设网站的经费请示西安百度seo排名
  • 中卫网站推广服务外贸营销型网站建设多少钱
  • 网站建设业务拓展wordpress qq留言
  • 怎么做棋牌网站国外网站怎么推广
  • 广东省医院建设协会网站横向网站源码
  • 网站广告位制作做网站的实验报告
  • 杭州正晖建设工程有限公司网站手机网页开发框架
  • 临漳+网站建设百度收录删除旧网站
  • 社交博客网站开发装修设计培训学费多少钱
  • 外贸建站哪家公司专业南阳美容网站建设
  • 手机网站跳转怎么做电子商务网站建设与管理的有关论文
  • 网站双链接怎么做近三年网络营销案例
  • 海外仓网站建设南昌官网seo厂家
  • 沙特网站后缀企业网站通常包含的栏目
  • 万荣网站建设淘宝的网站是怎么做的