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

惠州app网站建设排行榜抖音产品推广方案

惠州app网站建设排行榜,抖音产品推广方案,动易网站地图,wordpress4.7.2 xssDay2493.复原IP地址力扣题目链接给定一个只包含数字的字符串#xff0c;复原它并返回所有可能的 IP 地址格式。有效的 IP 地址 正好由四个整数#xff08;每个整数位于 0 到 255 之间组成#xff0c;且不能含有前导 0#xff09;#xff0c;整数之间用 . 分隔。例如#…Day2493.复原IP地址力扣题目链接给定一个只包含数字的字符串复原它并返回所有可能的 IP 地址格式。有效的 IP 地址 正好由四个整数每个整数位于 0 到 255 之间组成且不能含有前导 0整数之间用 . 分隔。例如0.1.2.201 和 192.168.1.1 是 有效的 IP 地址但是 0.011.255.245、192.168.1.312 和 192.1681.1 是 无效的 IP 地址。思路其实还是切割问题递归参数startIndex一定是需要的因为不能重复分割记录下一层递归分割的起始位置。本题我们还需要一个变量pointNum记录添加逗点的数量。递归终止条件本题明确要求只会分成4段所以不能用切割线切到最后作为终止条件而是分割的段数作为终止条件。pointNum表示逗点数量pointNum为3说明字符串分成了4段了。然后验证一下第四段是否合法如果合法就加入到结果集里单层搜索的逻辑在for (int i startIndex; i s.size(); i)循环中 [startIndex, i] 这个区间就是截取的子串需要判断这个子串是否合法。如果合法就在字符串后面加上符号.表示已经分割。如果不合法就结束本层循环然后就是递归和回溯的过程递归调用时下一层递归的startIndex要从i2开始因为需要在字符串中加入了分隔符.同时记录分割符的数量pointNum 要 1。回溯的时候就将刚刚加入的分隔符. 删掉就可以了pointNum也要-1。代码class Solution {ListString res new ArrayList();int pointNum 0;//记录加入的.数量public ListString restoreIpAddresses(String s) {if (s.length() 12) return res;//进行剪枝操作如果长度大于12直接返回backtracking(s, 0);return res;}private void backtracking(String s, int startIndex) {if (pointNum 3) {//递归终止条件是加入了三个.if (isValid(s, startIndex, s.length() - 1)) {//看最后一个串是否合法res.add(s);}return;}for (int i startIndex; i s.length(); i) {if (isValid(s, startIndex, i)) {//合法就加入.s s.substring(0, i 1) . s.substring(i 1);pointNum;backtracking(s, i 2);//加入了一个.递归是i2s s.substring(0, i 1) s.substring(i 2);pointNum--;}else break;//如果这段不合法直接break}}private boolean isValid(String str, int head, int end) {//判断传入字符串的子串是否合法if (head end || end - head 2) return false;//注意head可能越界if (str.charAt(head) 0 end head) return false;//多位数且首位为0不合法int sum 0;for (int i head; i end; i) {if (str.charAt(i) 0 || str.charAt(i) 9) return false;//特殊字符不合法sum sum * 10 (str.charAt(i) - 0);if (sum 255) return false;//数大于255不合法}return true;} }78.子集力扣题目链接给定一组不含重复元素的整数数组 nums返回该数组所有可能的子集幂集。说明解集不能包含重复的子集。示例: 输入: nums [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]思路这个题目重点在于子集没有固定长度所以每一次递归都加入res中即可先加入空然后path中加入1进入递归加入1然后path中加入2进入递归加入12...直到加入123结束这层递归弹出3结束这层递归弹出2加入3加入13...代码class Solution {ListListInteger res new ArrayList();LinkedListInteger path new LinkedList();public ListListInteger subsets(int[] nums) {if (nums null || nums.length 0) return res;backtracking(nums, 0);return res;}private void backtracking(int[] nums, int startIndex) {res.add(new ArrayList(path));if (startIndex nums.length) return;for (int i startIndex; i nums.length; i) {path.addFirst(nums[i]);backtracking(nums, i 1);path.removeFirst();}} }90.子集II力扣题目链接给定一个可能包含重复元素的整数数组 nums返回该数组所有可能的子集幂集。说明解集不能包含重复的子集。思路和上题的区别是加上了去重的逻辑先对数组进行排序排序之后注意循环的时候如果是上层递归进来的第一次循环就直接加元素因为是第一个元素数量改变了如果不是第一个还和前一位一样那这个子集之前考虑过了就不用再看了代码class Solution {ListListInteger res new ArrayList();LinkedListInteger path new LinkedList();public ListListInteger subsetsWithDup(int[] nums) {if (nums null || nums.length 0) return res;Arrays.sort(nums);backtracking(nums, 0);return res;}private void backtracking(int[] nums, int startIndex) {res.add(new ArrayList(path));if (startIndex nums.length) return;for (int i startIndex; i nums.length; i) {if (i startIndex nums[i] nums[i - 1]) continue;//去重的逻辑在这里path.addFirst(nums[i]);backtracking(nums, i 1);path.removeFirst();}} }
http://www.dnsts.com.cn/news/246008.html

相关文章:

  • 做网站 不做源码一个网站的建设步骤是
  • 佛山市品牌网站建设哪家好检察院门户网站建设情况总结
  • json取数据做网站开福区网站建设中
  • 个人网站可备案微信公众平台开发教程
  • 福建设计招聘网站有哪些免费推广网站
  • 上海省住房与城乡建设厅网站家居网站建设平台
  • 电商网站建设价格网站建设的栏目规划
  • 展示网站模版源码有哪些做ppt的网站
  • 怎么弄一个网站平台linux下wordpress安装
  • 移动网站建设渠道网站怎么能快速备案
  • 做招聘网站怎么设计框架邢台企业做网站的公司
  • 网站建设数据安全分析南宁网站建设公司哪个好
  • 企业网站多少钱一年临海城市建设网站
  • 丹阳建设局网站专做网页的网站
  • 广州网站设计哪里好医美三方网站怎么做
  • 宣传片制作网站网站怎么建设好看
  • 网站建设和域名什么关系怎么做网站上翻译泰剧
  • 网站建设怎么管理业务员广告推送平台
  • 推荐做问卷的网站成都企业网站
  • 网站建设项目中标通知杭州品牌设计公司排名前十
  • 制作网站比较大的几家公司wordpress登录 无响应
  • 做网站软件A开头的上海高登联合建设网站
  • 手机网站 input小说推广关键词怎么弄
  • 建一个单页网站做网站鞍山
  • 域名和网站名要一样吗如何做一个购物网站
  • 高端建站需要什么条件什么是网络营销的出发点
  • 做网站需要哪些工具赣州章贡区二手房出售信息
  • 北京赛车pk10网站建设apache wordpress配置
  • 个人网站 备案 类型常州做网站设计
  • 中国建设银行官网站预定红念币宜宾网站建设北斗网络