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

自助建站系统是怎么实现seo优化技巧

自助建站系统是怎么实现,seo优化技巧,仿别人的网站,深圳市有方科技有限公司一)字母大小写全排列 784. 字母大小写全排列 - 力扣(LeetCode) 1)从每一个字符开始进行枚举,如果枚举的是一个数字字符,直接忽视 如果是字母的话,进行选择是变还是不变 2)当进行遍历到叶子结点的时候,直接将…

一)字母大小写全排列

784. 字母大小写全排列 - 力扣(LeetCode)

1)从每一个字符开始进行枚举,如果枚举的是一个数字字符,直接忽视

如果是字母的话,进行选择是变还是不变

2)当进行遍历到叶子结点的时候,直接将结果存放到ret里面即可

3)相对于是对于这个决策树做一个深度优先遍历

 

class Solution {List<String> ret=new ArrayList<>();StringBuilder path=new StringBuilder();public List<String> letterCasePermutation(String s) {char[] array=s.toCharArray();dfs(array,0);return ret;}public void dfs(char[] array,int index){if(path.length()==array.length){ret.add(path.toString());return;}if(index>=array.length) return;//选if(array[index]>='0'&&array[index]<='9'){path.append(array[index]);dfs(array,index+1);path.deleteCharAt(path.length()-1);}else{path.append(array[index]);dfs(array,index+1);path.deleteCharAt(path.length()-1);if(array[index]>='a'&&array[index]<='z')path.append((char)(array[index]-32));elsepath.append((char)(array[index]+32));dfs(array,index+1);path.deleteCharAt(path.length()-1);}}
}

二)优美的排列

526. 优美的排列 - 力扣(LeetCode)

1)每一层开始就是从第一个数开始将所有的数进行枚举一遍,只要这个数没有使用过,就可以把这个数放在这里面试一试

2)还是需要判断一下这个数能否整除下标或者是能够被下标整除,只要上面的条件有一种情况不满足,那么就进行剪枝操作;

3)函数的递归出口:当遇到叶子节点的时候,直接返回结果

class Solution {List<List<Integer>> ret=new ArrayList<>();List<Integer> path=new ArrayList<>();boolean[] check;public int countArrangement(int n) {check=new boolean[n+1];dfs(n,1);return ret.size();}public void dfs(int n,int pos){if(path.size()==n){ret.add(new ArrayList<>(path));return;}for(int i=1;i<=n;i++){if((i%pos==0||pos%i==0)&&check[i]==false){path.add(i);check[i]=true;dfs(n,pos+1);path.remove(path.size()-1);check[i]=false;}}}
}

三)N皇后:

51. N 皇后 - 力扣(LeetCode)

第一种画决策树的方法:

先考虑第一个格子能不能进行存放,当进行考虑下一个格子的时候,是进行挨着考虑的,一个格子一个格子看看能不能进行存放

第二种画决策树的方法:是通过一行一行的来进行考虑的

此时我不是一个格子一个格子的进行考虑,这一次我一次考虑一行,我只考虑第0行的皇后应该摆放在那里,应该只考虑第一行的皇后摆放在哪里,第二行的皇后应该摆放在那里,第三行的皇后应该摆放在那里,下面我们进行考虑一下当N=3的时候:

1)首先我们第一步应该考虑一下,第0行的皇后可以放在哪里,这个时候又出现三种情况可以放在(0,0)可以放在(0,1),还可以放在(0,2)

2)然后再次进行考虑,当我们第0行的三个皇后已经放好的情况下,那么此时再来进行考虑第一行,正常情况下如果不出现剪枝的情况,第一行也是可以存放三个位置的分别是(1,0),(1,1)和(1,2),但是此时考虑剪枝,这个时候就出现了,某一个行上面有两个皇后,对角线上面有两个皇后

每一层在做的事情:你给我一个行数,我在这一行内每一个格子存放一个皇后,如果我能够存放,我就把这个皇后放在这里没然后进行考虑下一行

递归出口:当我们枚举行数发生越界的时候,此时说明就已经得到了合法的情况,此时就可以把这个合法的情况加入到我们最终的结果中即可

如何剪枝:剪枝的目的就是考虑当前这个位置是否可以能够放上皇后

1)无脑循环:假设当前这个这个位置可以存放皇后,首先来判断这一行有没有放皇后,这一列有没有放皇后,这个皇后的左对角线有没有放皇后,这个皇后的右对角线有没有放皇后,时间复杂度是4n*2^n

在这种决策树的画法里面,我们是每一行每一行的来进行列举的,所以当我们进行列举这一行上面的三个位置的时候,是一定不会出现在这一行上面的;

2)类似于哈希表的策略:在这里面只是需要搞一个boolean数组就可以搞定这个题了

boolean checkcol[]=new boolean[n],如果在第一列上放了一个皇后,那么只是需要让这一列变成true即可,那么就是checkcol[1]=true,说明这一列已经有皇后了,所以使用布尔数组可以快速判断某一列是否有皇后了

3)判断对角线以及副对角线的策略:使用布尔数组+数学来进行解决

四)有效的数独:

36. 有效的数独 - 力扣(LeetCode)

 

http://www.dt0577.cn/news/57140.html

相关文章:

  • 做网站的范本十大网络推广公司
  • 如何注册一个设计网站网络推广有哪些途径
  • 用什么给网站做测试谷歌搜索引擎优化
  • 做企业网站开发哪家好上海推广网站
  • 谷歌广告代理商seo零基础教学
  • 专门做外贸的的网站有哪些域名查询访问
  • 珠海建设局网站首页网站创建流程
  • 可以做语文阅读题的网站郑州关键词排名外包
  • 做网站的职业规划百度快速收录接口
  • 网站开发方法简答题西安seo包年服务
  • 重庆建设工程安全协会网站如何优化推广中的关键词
  • 贵阳市做网站电话旅游网站的网页设计
  • 什么软件做美食视频网站免费网站推广2023
  • 做任务挣钱的网站appseo网站排名优化工具
  • 嘉兴推广网站市场营销模式有哪些
  • mac系统怎样安装wordpress赣州网站seo
  • 做文案的网站营销策略4p分析怎么写
  • 泉州建网站网站seo优化怎么做
  • 房屋装修报价seo网站关键词优化排名
  • 哪个网站能靠做软件卖最新新闻实时新闻
  • 肇庆北滘网站设计适合成人参加的培训班
  • 做网站需要多少钱知乎网站买卖
  • 给黄网站做壳子冲会员千锋教育培训机构怎么样
  • 椒江网站制作厦门关键词优化seo
  • 淘宝卖家 打电话 做网站郑州seo网站管理
  • 新网站建设ppt推广关键词
  • 手机怎么自创网站外链发布网站
  • 家用电脑桌面做网站宣传软文是什么
  • 梅州网站建设大数据营销专业
  • 机械加工类网站腾讯控股第三季度营收1401亿