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

开发一个大型网站多少钱seo在线优化

开发一个大型网站多少钱,seo在线优化,椒江做网站,南宁网站建设教学优质博文:IT-BLOG-CN 一、题目 给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例…

优质博文:IT-BLOG-CN

一、题目

给定一个不含重复数字的数组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] <= 10
nums 中的所有整数 互不相同

二、代码

全排列的长度就是数据长度的阶层,排列和组合的区别:排列中[1,2]和[2,1]是不同的,但在组合中[1,2]和[2,1]是相同的。

我们已简单的[1,2,3]为一组,看下排列的搜索树:

解题思路:
【1】使用数组path记录路径上的数(已选数字)
【2】集合s记录剩余未选的数

回溯三问:
【1】当前操作?从s中枚举path[i]要填入的数字x
【2】子问题?构造排列 >= i 的部分,剩余未选数字集合为s
【3】下一个子问题?构造排列 >= i + 1 部分,剩余未选数字结合为s-{x}

class Solution {// 入参private int[] nums;// 返回值private final List<List<Integer>> resList = new ArrayList<>();// 返回值中包的Listprivate List<Integer> path;// 过滤 j 使用private boolean[] onPath;public List<List<Integer>> permute(int[] nums) {this.nums = nums;path = Arrays.asList(new Integer[nums.length]);onPath = new boolean[nums.length];dfs(0);return resList;}// 回溯方法private void dfs(int i) {// 回溯方法的退出条件if (i == nums.length) {// 这里需要copy path, 不能直接赋值,因为path一直变化resList.add(new ArrayList(path));System.out.println("resList : " + resList.toString());return;}// 每个i进来,组装一次结果for (int j = 0; j < nums.length; j++) {// 过滤j,原因在循环中有说明if (!onPath[j]) {// 当 i 递增时,j也在递增path.set(i, nums[j]);System.out.println(path.toString());// 回溯 (此时,i= 1调用的时候,j还是0,所以需要过滤掉j=0,因此添加 onPath 的Boolean数组)onPath[j] = true;dfs(i+1);// 当i遍历完成之后,需要恢复现场onPath[j] = false;}}}
}

看下输出的流程:

[1, null, null]
[1, 2, null]
[1, 2, 3]
resList : [[1, 2, 3]]
[1, 3, 3]
[1, 3, 2]
resList : [[1, 2, 3], [1, 3, 2]]
[2, 3, 2]
[2, 1, 2]
[2, 1, 3]
resList : [[1, 2, 3], [1, 3, 2], [2, 1, 3]]
[2, 3, 3]
[2, 3, 1]
resList : [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1]]
[3, 3, 1]
[3, 1, 1]
[3, 1, 2]
resList : [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2]]
[3, 2, 2]
[3, 2, 1]
resList : [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]

附视频讲解

时间复杂度: O(n⋅n!),其中nnums的长度。搜索树中的节点个数低于3⋅n!。实际上,精确值为⌊e⋅n!⌋,其中e=2.718⋯为自然常数。每个非叶节点要花费O(n)的时间遍历onPath数组,每个叶结点也要花费O(n)的时间复制path数组,因此时间复杂度为O(n⋅n!)
空间复杂度: O(n)返回值的空间不计入。

http://www.tj-hxxt.cn/news/123579.html

相关文章:

  • 网站出现的问题seo关键词有话要多少钱
  • 南宁高端网站建设公司电池优化大师下载
  • 河南省建设劳动学会网站企业网站推广优化
  • 公司网站制作的方法自己开发网站怎么盈利
  • 漳州 网站建设公司哪家好google谷歌搜索
  • 做网站文字居中代码徐州百度快照优化
  • 网站优化的前景网站内部seo优化包括
  • 如何做网站联盟百度搜索引擎盘搜搜
  • 用国外服务器做网站西安关键词网站排名
  • 自己有一个域名怎么做网站2024年新闻时事热点论文
  • 用模板做网站需要懂代码吗做网站公司哪家正规
  • 学校门户网站什么意思2021年重大新闻事件
  • 优化网站作用想要推广页
  • 汽车网站建设网百度快照客服
  • 企业网站建设文档快链友情链接平台
  • 南京做网站具体需要多少钱精准营销方式有哪些
  • 榆次做企业网站腾讯新闻最新消息
  • 建设银行网站登陆不上去链接购买平台
  • 如何给网站做301跳转aso榜单优化
  • 企业做网站设计的自媒体营销代理
  • 摄影师网站制作seo牛人
  • 做游戏代练去那个网站网络营销方案案例
  • 演艺公司济南新站seo外包
  • 怎样自己做企业的网站石家庄seo网站管理
  • 西安网站建设ipv6百度网盘官网入口
  • 淘宝客怎样建设网站小程序开发平台有哪些
  • 何做百度推广网站seo搜索引擎优化排名
  • axure中继器做网站网站设计是做什么的
  • 购物网站建设吸引顾客的营销策略
  • 哈尔滨优化网站公司b2b平台都有哪些网站