当前位置: 首页 > 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;是第一个被…...

从CANdb++到Matlab:手把手教你读懂DBC文件里的信号映射与物理值转换

从CANdb到Matlab&#xff1a;手把手教你读懂DBC文件里的信号映射与物理值转换 在汽车电子和嵌入式系统开发中&#xff0c;DBC文件作为CAN总线通信的"字典"&#xff0c;承载着整车网络通信的核心协议。对于刚接触汽车网络通信的工程师来说&#xff0c;面对DBC文件中密…...

工程师实战指南:从原理到选型,全面解析电池核心技术参数与应用

1. 项目概述&#xff1a;为什么我们需要重新认识电池&#xff1f;干了三十多年电气工程&#xff0c;从数字电路、模拟信号到电源设计、通信协议和微控制器&#xff0c;我几乎把电子行业的各个角落都摸了一遍。现在我在一家叫MaxVision的公司&#xff0c;专门搞那种性能极端、皮…...

如何在Windows电脑上轻松安装安卓应用:5步完成轻量级跨平台部署

如何在Windows电脑上轻松安装安卓应用&#xff1a;5步完成轻量级跨平台部署 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否想在Windows电脑上运行安卓应用&…...

构建毫秒级实时传输系统:基于flv.js的低延迟架构优化方案

构建毫秒级实时传输系统&#xff1a;基于flv.js的低延迟架构优化方案 【免费下载链接】flv.js HTML5 FLV Player 项目地址: https://gitcode.com/gh_mirrors/fl/flv.js flv.js作为HTML5 FLV播放器的核心技术方案&#xff0c;通过Media Source Extensions实现浏览器端FLV…...

Deep SORT:如何用深度关联度量实现95%+准确率的实时多目标追踪?

Deep SORT&#xff1a;如何用深度关联度量实现95%准确率的实时多目标追踪&#xff1f; 【免费下载链接】deep_sort Simple Online Realtime Tracking with a Deep Association Metric 项目地址: https://gitcode.com/gh_mirrors/de/deep_sort 在计算机视觉领域&#xff…...

硬核架构拆解:指纹浏览器底座+FSM状态机,如何重塑高容错的店群RPA自动化?

大家好&#xff0c;我是林焱&#xff0c;一名专注电商底层自动化架构与定制开发的独立开发者。 在 CSDN 以及各大技术社区&#xff0c;我看到很多开发者在尝试为拼多多、TEMU 等电商平台编写自动化脚本时&#xff0c;都会经历一个“崩溃期”&#xff1a;明明在本地测试时无比丝…...

三步实现iOS虚拟定位:无需越狱的终极免费方案

三步实现iOS虚拟定位&#xff1a;无需越狱的终极免费方案 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation iFakeLocation是一个专业级的iOS虚拟定位工具&am…...

品牌AI印相失效90%源于这7个参数误设,可口可乐级商业输出必须校准的4项色彩/构图硬指标

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney Coca Cola印相失效的底层归因诊断 Midjourney v6 及后续版本中&#xff0c;针对品牌标识&#xff08;如 Coca-Cola 经典红白波浪字体与动态弧线&#xff09;的“印相”&#xff08;prompt i…...

别再瞎写 Prompt 了:2026年最实用的10条LLM提示词技巧

别再瞎写 Prompt 了&#xff1a;2026年最实用的10条LLM提示词技巧强烈推荐收藏&#xff01;从 OpenAI 官方指南到社区实践精华&#xff0c;每条技巧都附带 ❌ 错误示范 → ✅ 正确示范 → &#x1f4a1; 原理说明。这个问题你肯定遇到过 你打开 ChatGPT&#xff0c;输入&#x…...

360安全浏览器-很恶心,经常自己绑定安装,有没有什么方法可以阻止安装?

360安全浏览器-很恶心,经常自己绑定安装,有没有什么方法可以阻止安装? 可以阻止360安全浏览器的自动安装‌,主要通过关闭其推荐功能、彻底卸载关联组件、禁用后台服务及使用系统策略拦截来实现。 一、关闭360软件的推荐安装设置 若已安装360安全卫士或360极速浏览器,需先…...