笔试强训 Day 33:跳台阶扩展问题、包含不超过两种字符的最长子串、字符串的排列
Day 33跳台阶扩展问题解题思路可以把跳跃过程先看成连续的n个“1级台阶”。以n 3为例1 1 1这 3 个1之间有n - 1 2个间隙1 | 1 | 1每个间隙有两种选择断开表示前后两段是两次跳跃不断开表示前后两段合并为同一次跳跃所有情况如下不分隔 3 - 跳 3 级 第1处分隔1 2 第2处分隔2 1 两处分隔1 1 1表示有 n 个阶梯, n-1 个阶梯间隙每个间隙有断开不断开两种情况所以总选择数是[ \underbrace{2 \times 2 \times \cdots \times 2}_{n-1\text{个间隙}} 2^{n-1} ]所以共有2^(n-1) 2^2 4代码实现importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){ScannerinnewScanner(System.in);intnin.nextInt();System.out.println(1(n-1));}}是 Java 中的左移运算符。1 (n - 1)表示把数字1的二进制向左移动n - 1位。每向左移动一位数值就乘以2因此[ 1 (n-1)2^{n-1} ]例如n 31 的二进制 0001 向左移动 2 位 0100 十进制结果 4对应代码int result 1 (n - 1); System.out.println(result);也可以使用数学函数int result (int) Math.pow(2, n - 1);不过这道题使用位运算更直接而且n 20结果不会超出int的范围。包含不超过两种字符的最长子串解题思路滑动窗口kind 2 更新长度代码实现importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){ScannerinnewScanner(System.in);char[]sin.next().toCharArray();intret0;int[]hashnewint[26];intkind0;for(intl0,r0;rs.length;r){hash[s[r]-a];if(hash[s[r]-a]1)kind;if(kind2){retMath.max(ret,r-l1);}while(kind2){hash[s[l]-a]--;if(hash[s[l]-a]0)kind--;l;}}System.out.println(ret);}}字符串的排列解题思路递归层数实现重排序注意相同字符必须按照下标顺序使用先用前面的a再用后面的a这样既不会漏掉排列也不会产生重复排列。代码实现importjava.util.*;publicclassSolution{privatechar[]s;privateboolean[]check;privateintn;privateStringBuilderpath;privateArrayListStringret;publicArrayListStringPermutation(Stringstr){sstr.toCharArray();Arrays.sort(s);ns.length;checknewboolean[n];pathnewStringBuilder();retnewArrayList();dfs(0);returnret;}// depth 表示递归层数privatevoiddfs(intdepth){if(path.length()n){ret.add(path.toString());return;}for(inti0;in;i){// 该字符已经被使用过if(check[i]){continue;}// 同一层中相同字符只选择一次// !check[i - 1] 用于处理 aa 字符的排序情况// 相同字符必须按照下标顺序使用先用前面的 a再用后面的 a这样既不会漏掉排列也不会产生重复排列。if(i0s[i]s[i-1]!check[i-1]){continue;}path.append(s[i]);check[i]true;dfs(depth1);check[i]false;path.deleteCharAt(path.length()-1);}}}

相关新闻

小红书内容永久保存终极指南:3种方法让喜欢的内容永不丢失

小红书内容永久保存终极指南:3种方法让喜欢的内容永不丢失

小红书内容永久保存终极指南:3种方法让喜欢的内容永不丢失 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接…

2026/10/19 18:57:34 阅读更多 →
【限时开放】AI微交互A/B测试沙盒环境(含LLM驱动的微动效生成器):仅剩87个企业内测名额

【限时开放】AI微交互A/B测试沙盒环境(含LLM驱动的微动效生成器):仅剩87个企业内测名额

更多请点击: https://intelliparadigm.com 第一章:AI微交互设计的范式演进与核心价值 AI微交互设计已从早期的命令式响应模式,逐步演化为以意图理解、上下文感知和渐进式反馈为核心的智能协同范式。这一演进并非单纯技术驱动,而是…

2026/10/18 10:10:53 阅读更多 →
AI二次元化效果翻车?3步精准调参法,92%的从业者都忽略的关键参数校准流程

AI二次元化效果翻车?3步精准调参法,92%的从业者都忽略的关键参数校准流程

更多请点击: https://intelliparadigm.com 第一章:AI二次元化效果翻车?3步精准调参法,92%的从业者都忽略的关键参数校准流程 AI二次元化模型(如 Stable Diffusion AnimeGANv2 或 ControlNet LineArt 适配器&#x…

2026/10/18 15:27:21 阅读更多 →

最新新闻

Python结合eBPF/XDP构建零信任网络安全框架实战

Python结合eBPF/XDP构建零信任网络安全框架实战

在讲这个项目之前,我先说一个实际场景:我接手过一套内部安全基座,最头疼的不是边界防火墙,而是内网主机和容器之间的东西向流量,基本处于“管不住”的状态。业务后端被攻破一台,攻击者拿它当跳板横向访问数…

2026/10/20 15:58:11 阅读更多 →
AI Agent安全访问本地文件:MCP权限配置7步指南

AI Agent安全访问本地文件:MCP权限配置7步指南

AI Agent越来越能打之后,MCP这个协议基本成了把模型能力接到真实世界的标准方式。本地文件、数据库、网页抓取、企业内部系统,都能通过标准化的工具暴露给模型。可我发现很多人配置MCP Server时,注意力全放在“能读多少数据”上,却…

2026/10/20 15:58:11 阅读更多 →
基于SEIRD模型的MATLAB传染病仿真:死亡仓室与消毒网策略参数化实现

基于SEIRD模型的MATLAB传染病仿真:死亡仓室与消毒网策略参数化实现

简介:DESSABNeT 是一个基于 MATLAB 编写的开源传染病传播模拟软件包,采用基于代理的模型(ABM)构建人工社会,以真实人口统计数据为输入,可模拟任何城市或区域中传染病的传播动态,最初专门用于澳大…

2026/10/20 15:58:11 阅读更多 →
读透Linux top命令:核心指标解读与性能排查实战

读透Linux top命令:核心指标解读与性能排查实战

刚开始用Linux那会儿,我一度觉得top命令就是个人肉刷新器——敲一下,看一眼PID和CPU,再敲一下,再看一眼。直到有一次排查线上CPU飙高的问题,浪费了整整一个下午,最后才发现top里每一块区域的信息量远超我想…

2026/10/20 15:58:11 阅读更多 →
Diagram-Design:用代码化图表构建可演进的系统表达语言

Diagram-Design:用代码化图表构建可演进的系统表达语言

1. 项目概述:这不是画图,是构建可演进的系统表达语言“diagram-design”这个词组乍看像一个工具名或功能按钮,但在我过去十年带团队做技术方案设计、系统架构评审和跨职能协作的过程中,它早已不是“用Visio拖几个框”的代名词。它…

2026/10/20 15:58:11 阅读更多 →
LangGraph图思维:从链式流程到条件分支、状态管理的工作流建模实践

LangGraph图思维:从链式流程到条件分支、状态管理的工作流建模实践

1. 为什么要从"链式思维"转到"图思维":一个任务带出的选择先说个我最近改代码的例子。某天接了个PDF解析任务,要抽取表格、转成结构化JSON,中间还要清理脏数据。按我之前的习惯,这种活儿就是一条链子串起来&a…

2026/10/20 15:57:09 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →