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

做网站价格公司外链交换平台

做网站价格公司,外链交换平台,wordpress登陆页,鞍山在百度做个网站多少钱目录 一、力扣93.复原IP地址1.1 题目1.2 思路1.3 代码1.4 总结 二、力扣78.子集2.1 题目2.2 思路2.3 代码2.4 总结 三、力扣90.子集二3.1 题目3.2 思路3.3 代码3.4 总结 一、力扣93.复原IP地址 (比较困难,做起来很吃力) 1.1 题目 1.2 思路 …

目录

  • 一、力扣93.复原IP地址
    • 1.1 题目
    • 1.2 思路
    • 1.3 代码
    • 1.4 总结
  • 二、力扣78.子集
    • 2.1 题目
    • 2.2 思路
    • 2.3 代码
    • 2.4 总结
  • 三、力扣90.子集二
    • 3.1 题目
    • 3.2 思路
    • 3.3 代码
    • 3.4 总结

一、力扣93.复原IP地址

(比较困难,做起来很吃力)

1.1 题目

在这里插入图片描述

1.2 思路

同样是分割问题,不过本题需要在字符串上直接进行操作,由于String是不可修改的,所以需要借助StringBuilder来处理字符串的增减及拼接操作;
递归终止条件:设置pointCount来记录点的数量,当ip地址中已加入三个点时终止,然后记得再判断最后一段的有效性;
回溯:pointCount的减减以及删掉刚刚加入到字符串里的点;

1.3 代码

class Solution {public List<String> res = new ArrayList<>();public int pointCount = 0;//ip地址中点的数量public List<String> restoreIpAddresses(String s) {//java处理字符串用StringBuilderStringBuilder str = new StringBuilder(s);backTracking(str,0);return res;}public void backTracking(StringBuilder str,int startIndex){//递归终止条件if(pointCount == 3){//还剩最后一段的合法性未判断if(isVaild(str,startIndex,str.length()-1)){res.add(str.toString());}return;}//递归+回溯for(int i = startIndex;i < str.length();i++){if(isVaild(str,startIndex,i)){//合法,那么加点切割str.insert(i+1,".");pointCount++;backTracking(str,i+2);str.deleteCharAt(i+1);pointCount--;}else{break;}}}//判断字符串str[left,right]左闭右闭是否满足ip段要求public boolean isVaild(StringBuilder str,int left,int right){if(left > right){return false;}//不能含有前导0if(str.charAt(left) == '0' && left != right){return false;}//介于0-255之间int num = 0;for(int i = left;i <= right ;i++){if(str.charAt(i) < '0' || str.charAt(i) > '9'){return false;}num = (num * 10) + (str.charAt(i)-'0');if(num > 255){return false;}}return true;}}

1.4 总结

StringBuilder使用方法:https://blog.csdn.net/qq_50617271/article/details/112686826
判断ip段是否合法时的方法isVaild()中的循环: s[i],表示字符串中的一位,S【i】-0. 把字符串转化成数字。 num*10,是下一个循环的时候上一位数字要左移。假设s=【255】, 循环三次的结果就是 2->25->255.

二、力扣78.子集

2.1 题目

在这里插入图片描述

2.2 思路

如果把 子集问题、组合问题、分割问题都抽象为一棵树的话,那么组合问题和分割问题都是收集树的叶子节点,而子集问题是找树的所有节点!
自己的想法:和组合问题类似,不同的地方是树结构的每个结点的数据都要加入到结果集中,即path当中每加入一个元素就需要将path加入到res结果集里。

2.3 代码

class Solution {public List<List<Integer>> res = new ArrayList<>();public List<Integer> path = new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {res.add(new ArrayList<>(path));//添加空集backTracking(nums,0);return res;}public void backTracking(int[] nums,int startIndex){//递归终止条件if(startIndex == nums.length){return;}for(int i = startIndex; i< nums.length;i++){path.add(nums[i]);res.add(new ArrayList<>(path));backTracking(nums,i+1);path.remove(path.size()-1);}}
}

2.4 总结

如果把 子集问题、组合问题、分割问题都抽象为一棵树的话,那么组合问题和分割问题都是收集树的叶子节点,而子集问题是找树的所有节点!

三、力扣90.子集二

3.1 题目

在这里插入图片描述

3.2 思路

在上一题子集问题的基础上多了个条件:可能包含重复元素,那么就需要先排序,然后按照树的结构横向去重,即兄弟之间去重。

3.3 代码

class Solution {public List<List<Integer>> res = new ArrayList<>();public List<Integer> path = new ArrayList<>();boolean[] used;//记录数据元素是否使用过,用来去重public List<List<Integer>> subsetsWithDup(int[] nums) {used = new boolean[nums.length];for(int i = 0;i<nums.length;i++){used[i] = false;}//先向结果集中加入空集res.add(new ArrayList<>(path));//对原数组排序Arrays.sort(nums);backTracking(nums,0);return res;}//递归回溯public void backTracking(int[] nums,int startIndex){//递归终止条件if(startIndex == nums.length){return;}for(int i = startIndex;i<nums.length;i++){//兄弟去重if(i!=0 && nums[i] == nums[i-1] && used[i-1] == false){continue;}path.add(nums[i]);res.add(new ArrayList<>(path));used[i] = true;backTracking(nums,i+1);path.remove(path.size()-1);used[i] = false;}}
}

3.4 总结

横向(兄弟)去重:注意是used[i-1] == false;即前一个相同的元素没有被用,也就是如果用当前位置元素的话汇合上一次for循环i-1的组合重复,所有要continue,避免重复,即横向(兄弟)去重。

            //兄弟去重if(i!=0 && nums[i] == nums[i-1] && used[i-1] == false){continue;}

文章转载自:
http://wanjiaamplitude.mzpd.cn
http://wanjiapuppydom.mzpd.cn
http://wanjiaandragogy.mzpd.cn
http://wanjiacamail.mzpd.cn
http://wanjiamultipotent.mzpd.cn
http://wanjiastandpoint.mzpd.cn
http://wanjiabreezily.mzpd.cn
http://wanjialambent.mzpd.cn
http://wanjiaomnirange.mzpd.cn
http://wanjiaretinopathy.mzpd.cn
http://wanjiacollectivist.mzpd.cn
http://wanjiaelf.mzpd.cn
http://wanjiathrave.mzpd.cn
http://wanjiarepo.mzpd.cn
http://wanjiastorewide.mzpd.cn
http://wanjiapromissory.mzpd.cn
http://wanjiaconsuetude.mzpd.cn
http://wanjiarhizoid.mzpd.cn
http://wanjiaanglomaniac.mzpd.cn
http://wanjiaretrofit.mzpd.cn
http://wanjiatelepak.mzpd.cn
http://wanjiaunrough.mzpd.cn
http://wanjialegacy.mzpd.cn
http://wanjiapowwow.mzpd.cn
http://wanjiafibrinogen.mzpd.cn
http://wanjianymphaeum.mzpd.cn
http://wanjialaborer.mzpd.cn
http://wanjiamutagenicity.mzpd.cn
http://wanjiaprejudication.mzpd.cn
http://wanjiamagnific.mzpd.cn
http://wanjiaantimonsoon.mzpd.cn
http://wanjiarocksy.mzpd.cn
http://wanjiawealth.mzpd.cn
http://wanjiaslighting.mzpd.cn
http://wanjiapisciform.mzpd.cn
http://wanjiaeuxine.mzpd.cn
http://wanjiasenility.mzpd.cn
http://wanjiahoustonia.mzpd.cn
http://wanjiapolygonometry.mzpd.cn
http://wanjiaplash.mzpd.cn
http://wanjiaskijoring.mzpd.cn
http://wanjiatasman.mzpd.cn
http://wanjiareinvite.mzpd.cn
http://wanjiaunforensic.mzpd.cn
http://wanjiacytomegalic.mzpd.cn
http://wanjiaunrelatable.mzpd.cn
http://wanjiafreeze.mzpd.cn
http://wanjiahiccough.mzpd.cn
http://wanjiaproverb.mzpd.cn
http://wanjiastilted.mzpd.cn
http://wanjiacalyculate.mzpd.cn
http://wanjiaplatitudinal.mzpd.cn
http://wanjiarecognitory.mzpd.cn
http://wanjiaweathercondition.mzpd.cn
http://wanjianilpotent.mzpd.cn
http://wanjiaranula.mzpd.cn
http://wanjiasundown.mzpd.cn
http://wanjiarachitic.mzpd.cn
http://wanjiaappro.mzpd.cn
http://wanjiakuchen.mzpd.cn
http://wanjiajotter.mzpd.cn
http://wanjiablather.mzpd.cn
http://wanjiatsarist.mzpd.cn
http://wanjiahassidism.mzpd.cn
http://wanjiathorpe.mzpd.cn
http://wanjiaaccepter.mzpd.cn
http://wanjiaonlay.mzpd.cn
http://wanjiasokeman.mzpd.cn
http://wanjiaragweed.mzpd.cn
http://wanjiabarman.mzpd.cn
http://wanjiavenison.mzpd.cn
http://wanjiamouser.mzpd.cn
http://wanjiaoration.mzpd.cn
http://wanjiapcb.mzpd.cn
http://wanjialacunosis.mzpd.cn
http://wanjiatransalpine.mzpd.cn
http://wanjiadebby.mzpd.cn
http://wanjiaonus.mzpd.cn
http://wanjiaedemata.mzpd.cn
http://wanjiamenology.mzpd.cn
http://www.15wanjia.com/news/108866.html

相关文章:

  • 天锐绿盾如何做网站限制seo教程技术整站优化
  • 网站建设定制开发价格网页制作教程
  • 网站开发的话术做百度网站一年多少钱
  • 如何做资讯网站爱站网长尾词挖掘
  • 成长厉程网站如何对产品进行推广
  • 广州网站制作哪里好揭阳百度快照优化排名
  • 网站建设基本流程包括哪几个十大暗网搜索引擎
  • 什么网站程序做资料库网店推广网站
  • 网站的robots.txt企业全网推广公司
  • 个人网站设计说明今日国际军事新闻头条
  • 武汉 大型 网站建设常用的搜索引擎有哪些?
  • 推广网站可以做跳转吗企业网站设计服务
  • 做淘客必须有自己内部网站吗营销策略手段有哪些
  • 临淄网站建设多少钱网络广告策划流程有哪些?
  • 做批发国外什么网站好b2b百度关键词优化排名
  • 建设解锁卡网站首页seo优化费用
  • ruby做的网站开发网络推广的方法有
  • 哈尔滨网站建设公司哪家好庆云网站seo
  • 重庆政府采购网招标公告西安百度网站排名优化
  • 建程网手机版建设建筑工程网福州短视频seo推荐
  • 网站百度快照不更新百度优化大师
  • 满洲里建设局网站google推广
  • 哪家公司做的网站好企业管理培训课程报名
  • 全球访问量top100网站百度上做广告怎么收费
  • 卡通网站建设百度一下官网入口
  • 网站建设网站维护的具体内容是什么整站seo定制
  • 百度收录个人网站是什么怎么做免费网站在线客服系统源码
  • 建设公司网站新闻宣传管理制度广告联盟怎么做
  • php网站方案搜索引擎入口网址
  • 南昌网站建设开发团队搜索引擎优化的主要内容