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

杭州市江干建设局网站北京软件开发公司排行榜最新

杭州市江干建设局网站,北京软件开发公司排行榜最新,姑苏区最新通告,企业网站建设重庆491. 递增子序列 题目: 代码随想录 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 这题需要注意的点: 1. path长度在2以上才放入最终结果 2. 需要记录已经使用过的数字&am…

491. 递增子序列

题目: 代码随想录

视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili

这题需要注意的点:

1. path长度在2以上才放入最终结果

2. 需要记录已经使用过的数字,因为数组内可能存在重复数字

3. 比较递增时,是nums[i]和path[-1]比,而不是nums[i]和nums[i-1]比,因为nums[i-1]不一定在path里

class Solution:def findSubsequences(self, nums: List[int]) -> List[List[int]]:result=[]self.backtracking(nums,0,[],result)return resultdef backtracking(self,nums,startIndex,path,result):if len(path)>1:result.append(path[:])used=set()for i in range(startIndex,len(nums)):if path and nums[i]<path[-1]:continueif nums[i] in used:continuepath.append(nums[i])used.add(nums[i])self.backtracking(nums,i+1,path,result)path.pop()

 46. 全排列

本题重点感受一下,排列问题 与 组合问题,组合总和,子集问题的区别。 为什么排列问题不用 startIndex

代码随想录

视频讲解:组合与排列的区别,回溯算法求解的时候,有何不同?| LeetCode:46.全排列_哔哩哔哩_bilibili

注意点:
1. 递归终止条件,不然会无限递归

2. 对已经使用的元素进行标记

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:result=[]used=[False]*len(nums)self.backtracking(nums,[],result,used)return resultdef backtracking(self,nums,path,result,used):if len(path)==len(nums):result.append(path[:])returnfor i in range(len(nums)):if used[i]:continueused[i]=Truepath.append(nums[i])self.backtracking(nums,path,result,used)path.pop()used[i]=False

 47. 全排列II

本题 就是我们讲过的 40.组合总和II 去重逻辑 和 46.全排列 的结合,可以先自己做一下,然后重点看一下 文章中 我讲的拓展内容: used[i - 1] == true 也行,used[i - 1] == false 也行

题目链接:代码随想录

视频讲解:回溯算法求解全排列,如何去重?| LeetCode:47.全排列 II_哔哩哔哩_bilibili

关键点:

1. if i>0 and nums[i]==nums[i-1] and not used[i-1]条件的判断是去重的关键

class Solution:def permuteUnique(self, nums: List[int]) -> List[List[int]]:result=[]nums.sort()used=[False]*len(nums)self.backtracking(nums,[],result,used)return resultdef backtracking(self,nums,path,result,used):if len(path)==len(nums):result.append(path[:])returnfor i in range(len(nums)):if used[i]:continueif i>0 and nums[i]==nums[i-1] and not used[i-1]:continueused[i]=Truepath.append(nums[i])self.backtracking(nums,path,result,used)path.pop()used[i]=False

 

http://www.yayakq.cn/news/468576/

相关文章:

  • 企业网站怎么收录外贸圈阿里巴巴
  • 为什么要建设学校网站wordpress百度云加速
  • dw可以做h5网站新手做网站的注意事项
  • 泰安程序设计aso优化哪家好
  • 外汇平台+网站开发做门户网站需要注册公司吗
  • 电子商务有限责任公司网站怎样建立快速建立平台网站开发设计建站流程
  • 闵行网站建设哪家好wordpress+社区
  • 广东省建设厅官方网站多少钱桂林象鼻山照片
  • 自助建站申请书网站目录结构设计
  • 电影网站制作教程及步骤四川游戏seo整站优化
  • 摄影网站制作软件网页优化与网站优
  • 宝应网站开发青岛的网站建设
  • 银川商城网站建设做网站和软件的团队
  • 上海正规网站建设耗材惠州seo公司
  • 小规模公司自学做账电商网站seo公司
  • 社交网站开发个人网站首页设计优秀作品
  • 公司两个网站如何都备案如何寻找外贸公司订单
  • 做名片最好的网站wordpress的标题
  • 负责网站的建设规划原型图怎么做网站交互
  • 宽屏网站和普通网站wordpress get_term_link
  • 吴川手机网站建设公司进口彩妆做的好的网站
  • 服务器关闭 网站被k博客网站怎么建设
  • sql2005做网站做网站需要哪些东西和步骤
  • 怎样在织梦网站建设目录销量不高的网站怎么做
  • 网站建设 业务网站地图页面模板
  • 成都如何寻找做网站的全国妇联官方网站儿童之家建设
  • 企业网站优化托管保定网站建设
  • 如何利用国外分类网站开发客户域名做网站
  • 建设通相似网站常德网站建设全域云
  • 中山精品网站建设精英企业管理系统网站