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

wordpress站内计费搜索wamp和wordpress

wordpress站内计费搜索,wamp和wordpress,提供seo顾问服务适合的对象是,辽宁建设工程文章链接 491.递增子序列 哈希去重:用 HashSet 保证:每一层只尝试一个值。 剪枝逻辑: 如果当前 nums[i] 比 path 中最后一个元素小,说明不是递增序列,跳过; 如果 nums[i] 已经在当前 for 循环层尝试过了…

文章链接

491.递增子序列

哈希去重:HashSet 保证:每一层只尝试一个值。

剪枝逻辑:

  • 如果当前 nums[i] 比 path 中最后一个元素小,说明不是递增序列,跳过;

  • 如果 nums[i] 已经在当前 for 循环层尝试过了,也跳过(避免重复分支)。

回溯核心思想是:从左到右选择一个数,然后递归往后选更多数,形成子序列。

  • 对于每一个位置 i,有两种选择:

  • 选:将 nums[i] 加入 path;

  • 不选:跳过 nums[i],进入下一个元素;

  • 递归时带一个 startIndex,保证从左到右、不回头。

public class Solution {public IList<IList<int>> res=new List<IList<int>>();public IList<int> path=new List<int>();public IList<IList<int>> FindSubsequences(int[] nums) {BackTracking(nums,0);return res;}public void BackTracking(int[] nums,int startIndex){if(path.Count>=2){res.Add(new List<int>(path));}HashSet<int> hs=new HashSet<int>();for(int i=startIndex;i<nums.Length;i++){if(path.Count>0&&path[path.Count-1]>nums[i]||hs.Contains(nums[i])){continue;}hs.Add(nums[i]);path.Add(nums[i]);BackTracking(nums,i+1);path.RemoveAt(path.Count-1);}}
}

46.全排列

步骤内容
回溯结构逐个选取数字,构造出一个完整路径
状态表示path 保存当前路径,used[] 表示哪些数被选了
终止条件当 path.Count == nums.Length,加入结果集
剪枝如果 used[i] == true,跳过当前数字
回溯回到上一步时撤销选择(used[i] = false,RemoveAt)

1️⃣ 使用回溯法(Backtracking)

  • 回溯法用于逐步构造解空间,尝试所有可能路径。

  • 每个位置都尝试一个未使用过的数字,直到构成一个完整排列。


2️⃣ 路径构建

  • 使用 List<int> path 表示当前正在构造的排列路径。

  • 使用 bool[] used 数组标记哪些数字已经被使用,避免重复。


3️⃣ 终止条件

  • path.Count == nums.Length 时,说明已经选满一个排列,将其加入结果集。

4️⃣ 遍历选择列表

  • 遍历 nums 中每一个数字:

  • 若未被使用,则加入 path;

  • 递归处理下一层;

  • 回溯时撤销选择(移除 path 最后一个元素,并将 used[i] = false)。


5️⃣ 回溯关键点

  • 做选择 → 递归 → 撤销选择(回溯)

  • 依赖于系统栈自动回溯到上一层状态

public class Solution {public IList<IList<int>> res=new List<IList<int>>();public IList<int> path=new List<int>();public IList<IList<int>> Permute(int[] nums) {var used=new bool[nums.Length] ;BackTracking(nums,used);return res;}public void BackTracking(int[] nums,bool[] used){if(path.Count==nums.Length){res.Add(new List<int>(path));return;}for(int i=0;i<nums.Length;i++){if(used[i]) continue;used[i]=true;path.Add(nums[i]);BackTracking(nums,used);used[i]=false;path.RemoveAt(path.Count-1);}}}

 

 

http://www.dtcms.com/a/550341.html

相关文章:

  • 唐山网站建设推广网站优缺点分析
  • 虚拟主机 发布网站北京软件培训机构前十名
  • 企业网站规划与建设论文北京房地产信息网
  • 网站建设需要提供哪些材料免费公司logo图标
  • 上海网站建设渠道wordpress 自定义逻辑
  • lua table.remove引发的偶现bug
  • 常熟做网站价格wordpress 改变字体
  • 做水果网站弄个什么名字钓鱼平台设计
  • C++ STL:string类(3)|operations|string类模拟实现|附源码
  • 微网站的建设模板有哪些如何制作网页表格
  • 海外短剧APP时区适配:全球内容更新时间智能调度与用户通知策略
  • 射频T/R组件?接收数字式T/R组件与数字式T/R组件?
  • 软考 系统架构设计师系列知识点之杂项集萃(183)
  • 黑龙江生产建设兵团知识网站网站认证打款怎么做分录
  • 凡科网站登录入wordpress入门教程视频教程
  • 【双机位A卷】华为OD笔试之【回溯】双机位A-找到它【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
  • wordpress结婚模板百度seo详解
  • win2003怎么做网站做装修公司的网站
  • 开发一款连接带有GEM/SECS协议软件的设备(五)
  • 大连市营商环境建设局网站太原建站seo
  • 串口调试数据(2)---之MQTT/WS透传及配套相关服务端介绍
  • 数学:裴蜀定理(贝祖定理)
  • 山东省建设监理协会官方网站书画展示网站模板
  • 做网站的工作记录网上书店网站前端搜索条怎么做
  • AI 在法律咨询服务中的革命性变化:技术赋能与生态重构
  • 【ROS2】行为树 BehaviorTree(十一):端口函数详解、异常处理
  • 电力电子技术 第八章——DC/DC变换器
  • 做软件界面一般用什么软件衡阳专业seo公司
  • 全检垫圈垫片 视觉检测设备 在线自动化瑕疵检测机
  • 网站建设方案书的内容管理制度网站建设百科