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

每日5题Day19 - LeetCode 91 - 95

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前!

第一题:91. 解码方法 - 力扣(LeetCode)

class Solution {public int numDecodings(String s) {int n = s.length();//注意我们dp的范围是n+1int[] dp = new int[n + 1];//初始条件,为什么是dp[0] = 1,因为我们转移方程中dp[i]与dp[i-1]有关dp[0] = 1;for (int i = 1; i <= n; ++i) {//如果是0就不管了if (s.charAt(i - 1) != '0') {dp[i] += dp[i - 1];}//看连续两位组成的数是否在[0,25]中if (i > 1 && s.charAt(i - 2) != '0' && ((s.charAt(i - 2) - '0') * 10 + (s.charAt(i - 1) - '0') <= 26)) {dp[i] += dp[i - 2];}}return dp[n];}
}

第二题:92. 反转链表 II - 力扣(LeetCode)

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {ListNode dummy = new ListNode(-1, head);ListNode l = dummy, r = dummy;int ll = left, rr = right;while(ll - 1 > 0){l = l.next;ll--;}//找到第left - 1个位置ListNode cur = l.next;//找到第right + 1个位置while(rr + 1 > 0){r = r.next;rr--;}ListNode tmp = cur;for(int i = 0; i < right - left; i++){tmp = tmp.next;}//反转,先把要反转的部分的尾部指向nulltmp.next = null;ListNode end = cur, pre = null;while(cur != null){ListNode nxt = cur.next;cur.next = pre;pre = cur;cur = nxt;}l.next = pre;end.next = r;return dummy.next;}
}

第三题:93. 复原 IP 地址 - 力扣(LeetCode)

class Solution {List<String> res = new ArrayList<>();List<String> path = new LinkedList<>();public List<String> restoreIpAddresses(String s) {traversal(0, s);return res;}private void traversal(int start, String s){//刚好到最后一位了,有四个部分的ipif(path.size() == 4 && start == s.length()){StringBuilder sb = new StringBuilder();for(int i = 0; i < 3; i++){sb.append(path.get(i)).append('.');}sb.append(path.get(3));res.add(new String(sb));return;}//注意判断条件,对于当前位置,每次都是之后的0至2位组合能不能满足条件for(int i = 1;  i <= 3 && start + i <= s.length(); i++){//注意substring是左开右闭String part = s.substring(start, start + i);if(isValid(part)){path.add(part);traversal(start + i, s);path.remove(path.size() - 1);}}}//判断是否满足,方法类型是booleanprivate boolean isValid(String s){if(s.length() > 1 && s.charAt(0) == '0'){return false;}int num = Integer.parseInt(s);return num >= 0 && num < 256;}
}

第四题:94. 二叉树的中序遍历 - 力扣(LeetCode)

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {List<Integer> res = new LinkedList<>();public List<Integer> inorderTraversal(TreeNode root) {//注意返回类型if(root == null){return new ArrayList<>();}//先左边inorderTraversal(root.left);//左边都结束了,把中间值放进去res.add(root.val);//走右边inorderTraversal(root.right);//三个方向都做过了,所以我们返回结果return res;}
}

 第五题:95. 不同的二叉搜索树 II - 力扣(LeetCode)

class Solution {public List<TreeNode> generateTrees(int n) {if (n == 0) {return new ArrayList<>();}return generateTrees(1, n);}private List<TreeNode> generateTrees(int start, int end) {List<TreeNode> trees = new ArrayList<>();if (start > end) {trees.add(null);return trees;}for (int i = start; i <= end; i++) {List<TreeNode> leftSubtrees = generateTrees(start, i - 1);List<TreeNode> rightSubtrees = generateTrees(i + 1, end);for (TreeNode left : leftSubtrees) {for (TreeNode right : rightSubtrees) {TreeNode root = new TreeNode(i);root.left = left;root.right = right;trees.add(root);}}}return trees;}
}

相关文章:

每日5题Day19 - LeetCode 91 - 95

每一步向前都是向自己的梦想更近一步&#xff0c;坚持不懈&#xff0c;勇往直前&#xff01; 第一题&#xff1a;91. 解码方法 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int numDecodings(String s) {int n s.length();//注意我们dp的范围是n1int[] d…...

wordpress里面嵌入哔哩哔哩视频的方法

我们正常如果从blibli获取视频分享链接然后在wordpress里面视频URL插入&#xff0c;发现是播放不了的 而视频嵌入代码直接粘贴呢窗口又非常的小 非常的难受&#xff0c;就需要更改一下代码。你可以在在allowfullscreen"true"的后面&#xff0c;留1个空格&#xff…...

Linux系统管理磁盘管理004

本章主要讲述详细lvm扩容。 操作系统&#xff1a; CentOS Stream 9 扩容目标&#xff1a; jianglv扩容到600MB 扩容前 [rootlocalhost ~]# lvdisplay lgb--- Logical volume ---LV Path /dev/lgb/nginx_lvmLV Name nginx_lvmVG Name …...

Flink窗口理论到实践

Flink窗口理论到实践可以分为以下几个关键部分进行阐述: 一、理论概述 窗口概念: Flink窗口是将无限流数据流切分为有限的、连续的数据块进行处理的一种机制。这有助于更高效、更方便地处理无界数据流。窗口分类: 时间窗口:基于固定时间段内收集数据,并在结束时生成结果。…...

279 基于matlab的粒子群集法对铁路电能质量控制系统的容量避行优化设计

基于matlab的粒子群集法对铁路电能质量控制系统的容量避行优化设计。计算出满足功率因素、电压不平衡度等电能指标的条件下。RPC所需要的补偿功率。求得所需最小的系统客量。该设计能快速计算出符合系统设定指标的各项最优补偿功率。并通过sumulink份真。检验设计参数的准确性。…...

46-3 护网溯源 - 溯源报告编写

格式 1. 基本情况︰钓鱼邮件情况介绍 在这部分,需要详细描述钓鱼邮件的基本情况,包括收到的邮件内容、寄件人信息、邮件附件或链接等。还需说明收到邮件的时间和频率。2. 行为分析 详细阐述攻击者的行为模式和攻击方式,包括攻击手段、使用的恶意工具或技术,以及可能的入侵…...

微服务之基本介绍

一、微服务架构介绍 1、微服务架构演变过程 单体应用架构->垂直应用架构一>分布式架构一>SOA架构-->微服务架构 ① 单体应用架构 互联网早期&#xff0c; 一般的网站应用流量较小&#xff0c;只需一个应用&#xff0c;将所有功能代码都部署在一起就可以&#x…...

嘉立创面板制作不规则图案技巧

首先附上效果图展示&#xff1a; 所需软件&#xff1a;嘉立创EDA(专业版)、photoshop、Adobe Illustrator 嘉立创EDA(专业版)&#xff1a; 嘉立创面板绘制很容易上手&#xff0c;只要了解这几个图层的作用便可以做出自己想要的面板。 材料边界层&#xff1a; 代表选⽤的材料…...

如何使用Python中的collections模块提供的数据结构,如deque、Counter、OrderedDict等

Python 的 collections 模块提供了一些额外的数据结构&#xff0c;这些数据结构在内置的数据类型&#xff08;如列表、字典、集合等&#xff09;的基础上&#xff0c;增加了额外的功能或优化了性能。下面是如何使用 collections 模块中的 deque、Counter 和 OrderedDict 这三种…...

2024年道路安全员考试题库

2024年道路安全员考试题库 16.根据《中华人民共和国道路运输条例》,关于从事客运经营使用的车辆的规定,下列说法错误的是(  )。 A.客运经营者应当使用符合国家规定标准的车辆从事道路运输经营 B.客运经营者应当加强对车辆的维护和检测,确保车辆符合国家规定的技术标准 C.…...

自建 Docker 镜像

本文地址&#xff1a;blog.lucien.ink/archives/547 本文主要参考自&#xff1a;自建Docker 镜像/源加速的方法 1. 简介 最近 Docker Hub 被禁一事引起了不小的波动&#xff0c;在这里简单讲下在这之后应该如何访问公开的 Docker Hub。 2. Cloudflare 2.1 搭建 搭建的前提是…...

php实现抖音小程序支付

开发者发起下单_小程序_抖音开放平台 第一步、抖音小程序发起支付 tt.pay_小程序_抖音开放平台 前端提交订单数据到后端接口&#xff0c;然后使用 tt.pay发起支付 请求参数 属性 类型 必填 说明 order_id string 是 担保交易服务端订单号 order_token string 是 …...

代码审计(1):CVE-2022-4957分析及复现

0x00漏洞描述&#xff1a; ѕрееdtеѕt iѕ а vеrу liɡhtԝеiɡ&#xff48;t nеtԝоrk ѕрееd tеѕtinɡ tооl imрlеmеntеd in Jаvаѕсriрt. Thеrе iѕ а Crоѕѕ-ѕitе Sсriрtinɡ vulnеrаbilitу in librеѕроndеd ѕрееdtеѕt…...

问题:设备管理指标为完好率不低于( ),待修率不高于5%,事故率不高于1%。 #知识分享#经验分享#经验分享

问题&#xff1a;设备管理指标为完好率不低于( )&#xff0c;待修率不高于5%&#xff0c;事故率不高于1%。 A、100% B、95% C、90% D、80% 参考答案如图所示...

【Linux】(六)—— vim编辑器

vim文件编辑器 Vim&#xff08;Vi Improved&#xff09;是一个高度可配置的文本编辑器&#xff0c;最初基于UNIX下的Vi编辑器发展而来&#xff0c;广泛用于程序开发和系统管理中。vim编辑器可以只通过终端命令即可编写修改文件&#xff0c;不需要和gedit一样需要打开类似于记事…...

06016传感器原理与应用202207

06016传感器原理与应用202207 选择题&#xff08;2*11&#xff09; 1.基本的电子测量系统由四部分组成&#xff0c;即电源、信号调节、显示系统和B&#xff08;P7&#xff09; A.分档器 B.传感器 C.处理器 D.采集器 2.热电阻温度计的测量电路采用精度较高的是B&am…...

java web:springboot mysql开发的一套家政预约上门服务系统源码:家政上门服务系统的运行流程

java web&#xff1a;springboot mysql开发的一套家政预约上门服务系统源码&#xff1a;家政上门服务系统的运行流程 家政上门服务系统的优势 服务质量更稳定&#xff1a;由专业的家政人员提供服务&#xff0c;经过严格的培训和筛选。 价格更透明&#xff1a;采用套餐式收费&…...

二叉树的后序遍历-力扣

二叉树的后序遍历&#xff0c;指首先遍历二叉树的左节点&#xff0c;然后遍历二叉树的右节点&#xff0c;最后遍历中间节点。按照顺序进行递归遍历即可。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *rig…...

C++基础编程100题-008 OpenJudge-1.3-06 甲流疫情死亡率

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0103/06/ 描述 甲流并不可怕&#xff0c;在中国&#xff0c;它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数&#xff0c;计算甲流在各省的死亡率。 输入 输入仅一行&#xff…...

计算机网络 ——网络层(IPv4地址)

计算机网络 ——网络层&#xff08;IPv4地址&#xff09; 什么是IPv4地址IP地址的分类特殊的IP地址 查看自己的IPv4地址 我们今天来看IPv4地址&#xff1a; 什么是IPv4地址 IPv4&#xff08;Internet Protocol version 4&#xff09;是第四版互联网协议&#xff0c;是第一个被…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法&#xff0c;由约翰冯诺伊曼在1945年提出。其核心思想包括&#xff1a; 分割(Divide)&#xff1a;将待排序数组递归地分成两个子…...

比较数据迁移后MySQL数据库和ClickHouse数据仓库中的表

设计一个MySQL数据库和Clickhouse数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

代理服务器-LVS的3种模式与调度算法

作者介绍&#xff1a;简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们上一章介绍了Web服务器&#xff0c;其中以Nginx为主&#xff0c;本章我们来讲解几个代理软件&#xff1a…...