3月15/18日:复原IP地址子集

93.复原IP地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。

  • 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245""192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。

给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 '.' 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。

提示:

  • 1 <= s.length <= 20
  • s 仅由数字组成

思路

常规思路回溯,需要加上判断是否有前导0、单串子串大于等于0且小于等于255的判断:

class Solution {List<String> res=new ArrayList<>();int[] segments=new int[4];public List<String> restoreIpAddresses(String s) {if(s.length()>12||s.length()<4){return res;}dfs(s,0,0);return res;}public void dfs(String s,int id,int begin){if(id==4){if(begin==s.length()){StringBuffer sb=new StringBuffer();for(int i=0;i<4;i++){sb.append(segments[i]);if(i!=3){sb.append('.');}}res.add(sb.toString());}return;}if(begin==s.length()){return;}if(s.charAt(begin)=='0'){segments[id]=0;dfs(s,id+1,begin+1);return;}int temp=0;for(int i=begin;i<s.length();i++){temp=temp*10+(s.charAt(i)-'0');if(temp>0&&temp<=0xFF){segments[id]=temp;dfs(s,id+1,i+1);}else {break;}}}}

 78.子集

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的

子集

(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

提示:

  • 1 <= nums.length <= 10
  • -10 <= nums[i] <= 10
  • nums 中的所有元素 互不相同

思路

两种方法,一种递归法,另一种迭代法,即将数组每一位是否在数组中存为0或1,这样只要遍历0到1<<n即可遍历所有情况

递归法

class Solution {List<List<Integer>> res=new ArrayList<>();List<Integer> path=new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {dfs(0,nums);return res;}private void dfs(int cur,int[] nums){if(cur==nums.length){List<Integer> ans=new ArrayList<>(path);res.add(new ArrayList<>(ans));return;}path.add(nums[cur]);dfs(cur+1,nums);path.remove(path.size()-1);dfs(cur+1,nums);}}

迭代法

class Solution {List<List<Integer>> res=new ArrayList<>();List<Integer> path=new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {int n=nums.length;for(int mask=0;mask<(1<<n);mask++){path.clear();for (int i=0;i<n;i++){if ((mask & (1 << i)) != 0) {path.add(nums[i]);}}res.add(new ArrayList<>(path));}return res;}}

总结

常规题型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Modeling Influence Diffusion over Signed Social Networks

关键词——社会系统、影响力扩散、建模、签名社交网络、影响力最大化 Abstract 在离线或在线世界中&#xff0c;许多社交系统可以表示为签名社交网络&#xff0c;包括积极和消极关系。尽管由于独特极性特征的巨大应用价值&#xff0c;人们对签名社交网络进行了各种研究&#x…

【Docker篇】自定义Dockerfile的操作

文章目录 &#x1f354;镜像结构&#x1f6f8;什么是Dockerfile⭐基于Ubuntu镜像构建一个新镜像&#xff0c;运行一个java项目&#x1f50e;使用 java:8-alpine &#x1f354;镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 我们以MySQL为例&am…

环境安装篇 之 docker安装

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 环境安装 系列文章&#xff0c;介绍 docker 的安装详细步骤 # 卸载旧版本docker $ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \d…

QT网络编程之实现UDP广播发送和接收

推荐一个不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;内容全面&#xff0c;作为入门科普和学习提升都不错&#xff0c;分享一下给大家&#xff1a;前言https://www.captainbed.cn/ai 一.UDP通信 1.QT中实现UDP通信主要用到了以下类&#xff1a;QUdpSocket、QHost…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:FolderStack)

FolderStack继承于Stack(层叠布局)控件&#xff0c;新增了折叠屏悬停能力&#xff0c;通过识别upperItems自动避让折叠屏折痕区后移到上半屏 说明&#xff1a; 该组件从API Version 11开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件…

深度学习——数据预处理

一、数据预处理 为了能用深度学习来解决现实世界的问题&#xff0c;我们经常从预处理原始数据开始&#xff0c; 而不是从那些准备好的张量格式数据开始。 在Python中常用的数据分析工具中&#xff0c;我们通常使用pandas软件包。 像庞大的Python生态系统中的许多其他扩展包一样…

算法刷题day32

目录 引言一、走迷宫二、八数码三、走迷宫四、全球变暖 引言 本篇文章是讲 B F S BFS BFS 的&#xff0c;我发现好像蓝桥杯都很爱考陆地海洋的这种问题&#xff0c;这种问题就是即使你的模板背的再熟练&#xff0c;你想不到做法其实还是没啥用&#xff0c;所以多做题很重要&a…

【LeetCode每日一题】310. 最小高度树

文章目录 [310. 最小高度树](https://leetcode.cn/problems/minimum-height-trees/)思路&#xff1a;拓扑排序代码&#xff1a; 310. 最小高度树 思路&#xff1a;拓扑排序 首先判断节点数量n&#xff0c;如果只有一个节点&#xff0c;则直接返回该节点作为最小高度树的根节点…

阿里云ECS服务器u1通用算力型CPU性能、限制使用及收费价格表

阿里云服务器u1是通用算力型云服务器&#xff0c;CPU采用2.5 GHz主频的Intel(R) Xeon(R) Platinum处理器&#xff0c;通用算力型u1云服务器不适用于游戏和高频交易等需要极致性能的应用场景及对业务性能一致性有强诉求的应用场景(比如业务HA场景主备机需要性能一致)&#xff0c…

【解读】Gartner 2023 DevOps平台魔法四象限

2023年6月5日Gartner发布了DevOps平台魔法四象限洞察报告&#xff08;Magic Quadrant for DevOps Platforms DevOps&#xff09;&#xff0c;Gartner指出&#xff0c;DevOps平台正在成为DevOps工具链的一种更简单的替代品&#xff0c;为组织提供一套整合的集成能力。软件工程领…

Python:文件的操作

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; Python的os库主要用于与操作系统进行交互&#xff0c;它提供了多种功能&#xff0c;使得在Python程序中处理操作系统级任务变得容易。这里是一些…

Linux文件系统中常见文件夹的作用

在Linux文件系统中&#xff0c;各个文件夹有不同的作用和用途。以下是一些常见的文件夹及其功能&#xff1a; /&#xff1a;根目录&#xff0c;整个文件系统的起始点。/bin&#xff1a;二进制可执行文件的存放目录&#xff0c;包含许多基本的系统工具和命令&#xff0c;如ls、…

05 龙芯平台openstack部署搭建-placement部署

一、创建placement相关数据库、凭据与API端点 1.创建placement数据库并授权 mysql -uroot -ploongson -e “CREATE DATABASE placement;” mysql -uroot -ploongson -e “GRANT ALL PRIVILEGES ON placement.* TO ‘placement’‘localhost’ IDENTIFIED BY ‘loongson’;” …

【Linux】Ubuntu使用Netplan配置静态/动态IP

1、说明 Ubuntu 18.04开始,Ubuntu和Debian移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,转而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令实现网络管理。 Netplan 是抽象网络配置描述器,用于配置Linux网络。 通过netpla…

2024全新快递平台系统独立版小程序源码|带cps推广营销流量主+前端

2024全新快递平台系统独立版小程序源码|带cps推广营销流量主前端程序源码 程序介绍 快递代发快递代寄寄件小程序可以对接易达云洋一级总代 快递小程序&#xff0c;接入云洋/易达物流接口&#xff0c;支持选择快递公司&#xff0c;三通一达&#xff0c;极兔&#xff0c;德邦等&…

适口性猫粮哪个牌子肉源好性价比高?主食冻干性价比排行前十分享

随着科学养猫知识的普及&#xff0c;主食冻干喂养越来越受到养猫人的青睐。主食冻干不仅符合猫咪的饮食天性&#xff0c;还能提供均衡的营养&#xff0c;有助于维护猫咪的口腔和消化系统健康。然而&#xff0c;许多猫主人在选择主食冻干产品时感到迷茫。本文将深入探讨如何为猫…

蓝桥杯刷题 Day36 倒计时26天 纯练题的一天

[蓝桥杯 2022 省 B] 积木画 题目描述 小明最近迷上了积木画&#xff0c;有这么两种类型的积木&#xff0c;分别为 I 型&#xff08;大小为 2个单位面积) 和 L 型 (大小为 3 个单位面积): 同时&#xff0c;小明有一块面积大小为2N 的画布&#xff0c;画布由2N 个 11 区域构成。…

一些很实用的技巧提高自动化测试覆盖率

自动化测试一直是测试人员的核心技能&#xff0c;也是测试的重要手段之一。尤其是在今年所谓的互联网寒冬的行情下&#xff0c;各大企业对测试人员的技术水平要求的很高&#xff0c;而测试人员的技术水平主要集中在三大自动化测试领域&#xff0c;再加测试辅助脚本的编写&#…

大模型知识积累——幻觉

什么是大模型幻觉 在大语言模型的文本生成场景下&#xff0c;幻觉是指一本正经的胡说八道。逻辑连贯的自然表述中&#xff0c;有理论或者事实错误&#xff0c;捏造事实等问题。 幻觉问题的危害 LLM幻觉可能产生传播错误知识的后果。对于医疗应用中结果安全和可信AI尤为重要&a…

气液分离器的概念和原理

气液分离器也叫低压储液器&#xff0c;在热泵或制冷系统中使用&#xff0c;主要是将出蒸发器、进压缩机气流中的液滴分离出来&#xff0c;防止压缩机发生液击&#xff0c;用于工质充注量较大、压缩机进气可能带液且压缩机对湿压缩较敏感的情况 。 液击主要出现在活塞式压缩机中…