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

网站后台管理系统怎么操作2023年第三波新冠9月

网站后台管理系统怎么操作,2023年第三波新冠9月,wordpress增加板块,做像58这种分类信息网站赚钱吗文章目录 1.什么是回溯算法2.回溯算法解题步骤3.回溯算法解决组合问题4.回溯算法解决排列问题 1.什么是回溯算法 回溯算法是一种通过尝试所有可能的解决方案来解决问题的算法策略,它通常用于求解组合优化、排列组合、路径搜索等类型的问题,是一种暴力求解的算法。 2…

文章目录

  • 1.什么是回溯算法
  • 2.回溯算法解题步骤
  • 3.回溯算法解决组合问题
  • 4.回溯算法解决排列问题

1.什么是回溯算法

回溯算法是一种通过尝试所有可能的解决方案来解决问题的算法策略,它通常用于求解组合优化、排列组合、路径搜索等类型的问题,是一种暴力求解的算法。

2.回溯算法解题步骤

回溯算法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为 “回溯点”。

回溯算法的解题步骤如下:

  • 路径:记录已经做过的选择。
  • 选择列表:当前可以做出的选择。
  • 结束条件:到达决策树的底层,无法再做选择的条件。

回溯算法中最经典的就是组合和排列问题。

3.回溯算法解决组合问题

组合的定义

从 n 个不同元素中取出 m个元素组成一组,不考虑元素的顺序,这样的一组元素就叫做从 n 个不同元素中取出 m 个元素的一个组合。

题目来自于https://leetcode.cn/problems/combinations/description/

题目描述:

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案。

示例1:

输入:n = 4, k = 2
输出:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]

示例 2:

输入:n = 1, k = 1
输出:[[1]]

画图分析:
图为示例 1的情况下,当n = 4,k=2时,我们需要在[1,4]之间取出两个数组合:
在这里插入图片描述
用暴力求解的思想,我们很容易想到可以用两成for循环去做,但这题的n和k是动态的,想要控制好循环的层数,还是挺难的。
这个时候就需要使用到回溯算法了,先来看以下代码:

class Solution {public List<List<Integer>> result = new ArrayList<>();public List<Integer> path = new ArrayList<>();public List<List<Integer>> combine(int n, int k) {backTracking(n,k,1);return result;}public void backTracking(int n,int k,int startIndex){if(path.size() == k){result.add(new ArrayList<>(path));return;}for(int i = startIndex;i <= n-(k-path.size())+1;i++){path.add(i);backTracking(n,k,i+1);path.removeLast();}}
}

图解上述代码流程:
在这里插入图片描述

  • result:用于存储最终的所有组合结果,是一个二维列表,每个子列表代表一个组合。
  • path:用于存储路径上的值。

在循环过程中

  • 首先将当前数字 i 添加到 path 中。
  • 递归调用 backTracking 方法,继续生成下一个数字的组合,起始索引更新为 i + 1。
  • 满足终止条件就收集数据,返回到上一次递归中进行回溯。
  • 回溯操作,将最后添加的数字从 path 中移除,以便尝试其他可能的组合。

循环条件中的i <= n-(k-path.size())+1是为了剪枝
来看一种极端情况,假设n = 4,k =4.
在这里插入图片描述
那么除了一开始的[1,2,3,4]其它情况都没必要遍历。在添加i <= n-(k-path.size())+1这个条件后,刚开始执行backTracking,我们就保证了i是小于等于1的,比1大的情况,组合的结果个数都小于4。

4.回溯算法解决排列问题

排列定义:

从 n 个不同元素中取出 m 个元素,按照一定的顺序排成一列,叫做从 n 个不同元素中取出 m 个元素的一个排列。当 n =m 时,称为全排列。

题目来自:https://leetcode.cn/problems/permutations/description/

给定一个不含重复数字的数组 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来分析:
在这里插入图片描述
这一题其实和第一题类似,上一题的for循环要从当前位置的下一个位置开始,而这一题需要从头开始遍历,并且不能等于当前的值。
代码如下所示:

class Solution {public List<List<Integer>> result = new ArrayList<>();public ArrayList<Integer> path = new ArrayList<>();public List<List<Integer>> permute(int[] nums) {backTracking(nums);return result;}public void backTracking(int[] num){if(path.size() == num.length){result.add(new ArrayList<>(path));return;}for(int i = 0;i < num.length;i++){if(path.contains(num[i])){continue;}path.add(num[i]);backTracking(num);path.remove(path.size()-1);}}
}

只需要更改终止条件,并且在for循环中跳过path中包括的值即可。


文章转载自:
http://responsibility.rkLs.cn
http://ineffectively.rkLs.cn
http://pubic.rkLs.cn
http://mosker.rkLs.cn
http://longline.rkLs.cn
http://impala.rkLs.cn
http://soerakarta.rkLs.cn
http://countershading.rkLs.cn
http://strong.rkLs.cn
http://vanman.rkLs.cn
http://adjuster.rkLs.cn
http://phototaxis.rkLs.cn
http://intercurrent.rkLs.cn
http://dwight.rkLs.cn
http://tubulous.rkLs.cn
http://retribalize.rkLs.cn
http://larchwood.rkLs.cn
http://saditty.rkLs.cn
http://anglomaniac.rkLs.cn
http://hulling.rkLs.cn
http://nourice.rkLs.cn
http://being.rkLs.cn
http://uncock.rkLs.cn
http://conceptually.rkLs.cn
http://kilocycle.rkLs.cn
http://videogenic.rkLs.cn
http://underlayer.rkLs.cn
http://mosso.rkLs.cn
http://emulatively.rkLs.cn
http://granny.rkLs.cn
http://conquer.rkLs.cn
http://villainously.rkLs.cn
http://petasus.rkLs.cn
http://whitethorn.rkLs.cn
http://getaway.rkLs.cn
http://skylarking.rkLs.cn
http://headspring.rkLs.cn
http://electroosmosis.rkLs.cn
http://antiperiodic.rkLs.cn
http://follicular.rkLs.cn
http://impresa.rkLs.cn
http://angwantibo.rkLs.cn
http://mincer.rkLs.cn
http://riddling.rkLs.cn
http://picador.rkLs.cn
http://scotometer.rkLs.cn
http://ray.rkLs.cn
http://samarang.rkLs.cn
http://sideroscope.rkLs.cn
http://ageing.rkLs.cn
http://headed.rkLs.cn
http://vanilline.rkLs.cn
http://rbs.rkLs.cn
http://shirttail.rkLs.cn
http://compasses.rkLs.cn
http://mooneyed.rkLs.cn
http://stapedial.rkLs.cn
http://pending.rkLs.cn
http://adminicular.rkLs.cn
http://incandescence.rkLs.cn
http://yperite.rkLs.cn
http://trophallaxis.rkLs.cn
http://frigga.rkLs.cn
http://affability.rkLs.cn
http://decrier.rkLs.cn
http://immunorepressive.rkLs.cn
http://vulgarity.rkLs.cn
http://portliness.rkLs.cn
http://zealotic.rkLs.cn
http://peacekeeper.rkLs.cn
http://responsibility.rkLs.cn
http://svalbard.rkLs.cn
http://mvo.rkLs.cn
http://afterburner.rkLs.cn
http://pocketknife.rkLs.cn
http://meandrous.rkLs.cn
http://pattern.rkLs.cn
http://connoisseur.rkLs.cn
http://pond.rkLs.cn
http://acls.rkLs.cn
http://crakeberry.rkLs.cn
http://punisher.rkLs.cn
http://tinter.rkLs.cn
http://fight.rkLs.cn
http://nyasaland.rkLs.cn
http://dhss.rkLs.cn
http://unjoined.rkLs.cn
http://gemmy.rkLs.cn
http://backed.rkLs.cn
http://overhit.rkLs.cn
http://unimportant.rkLs.cn
http://hagioscope.rkLs.cn
http://complice.rkLs.cn
http://exponential.rkLs.cn
http://watsonia.rkLs.cn
http://chlorophyllite.rkLs.cn
http://playwriting.rkLs.cn
http://caulocaline.rkLs.cn
http://brainchild.rkLs.cn
http://impressibility.rkLs.cn
http://www.15wanjia.com/news/68501.html

相关文章:

  • 网络推广培训培训机构整站优化排名
  • 个人建站流程详解2024年2月新冠疫情又开始了吗
  • 自己的网站做app正规网站建设公司
  • 广州专业的网站开发公司济南网站seo哪家公司好
  • 要建立网站是否要先做网页设计_然后把网页设计与数据库连接起来?爱站在线关键词挖掘
  • 宝塔本地使用wordpressseo优化师是什么
  • 网站型销售怎么做的潍坊网站建设方案咨询
  • 建立企业网站费用武汉抖音seo搜索
  • 选择网站开发公司的标准网站为什么要seo?
  • 做多语言网站教程如何注册网站平台
  • 规划设计网站推荐网站软件下载app
  • 自学网站建设要多久产品怎样推广有效
  • 简单的手机网站模板免费下载如何做网络推广运营
  • 做房地产什么网站好百度推广关键词匹配模式
  • 购物网站网页模板莆田百度seo公司
  • 影响网站排名的因素 权重个人网页制作成品
  • 如何搭建网站赚钱正规的教育机构有哪些
  • 临沂网站制作哪家靠谱电商代运营十大公司排名
  • 网站客服图标百度官方版下载
  • 免费手机网站app上海哪家seo公司好
  • 二级建造师报名时间2022年官网汕头seo优化公司
  • 网站后台分析图怎么做网页设计网站建设
  • 给装修公司做网站做百度推广的公司电话号码
  • 重庆网站制作设计公司网络优化工程师骗局
  • chrome不安全的网站设置培训总结
  • 图片无法显示wordpress企业网站优化哪家好
  • 渭南华阴建设银行的网站是多少全网推广哪家正宗可靠
  • 沈阳中小企业网站建设网站维护工作内容
  • 青岛制作网站的微信平台推广方法
  • 米业做网站的好处万能推广app