[笔试训练](三十三)097:跳台台阶扩展问题098:包含不超过两种字符的最长子串099:字符串的排列

目录

097:跳台台阶扩展问题

098:包含不超过两种字符的最长子串

099:字符串的排列


097:跳台台阶扩展问题

题目链接:跳台阶扩展问题_牛客题霸_牛客网 (nowcoder.com)

题目:

题解:

规律题:

1.跳上n级台阶的跳法等于前面1~(n-1)级台阶跳法的总和+1。

2.跳上n级台阶的跳法等于2^(n-1)。

//1.
#include <iostream>
using namespace std;
int n=0,ret=0,sum=0;
int main() 
{cin>>n;for(int i=1;i<=n;i++){ret=sum+1;sum+=ret;}cout<<ret<<endl;return 0;
}//2.
#include <iostream>
using namespace std;
int n=0;
int main() 
{cin>>n;cout<<(1<<(n-1))<<endl;return 0;
}

098:包含不超过两种字符的最长子串

题目链接:包含不超过两种字符的最长子串_牛客题霸_牛客网 (nowcoder.com)

题目:

题解:

滑动窗口

#include <iostream>
#include<string>
using namespace std;
string s;
int cnt[26];
int flag = 0, ret = 0;
int main() {cin >> s;int n = s.size();int left = 0, right = 0, ret = 0;while (right < n) {if(cnt[s[right]-'a']++ == 0) flag++;while(flag>2){if(cnt[s[left++]-'a']-- == 1) flag--;}ret=max(ret,right-left+1);right++;}cout << ret << endl;return 0;
}

 

099:字符串的排列

题目链接:字符串的排列_牛客题霸_牛客网 (nowcoder.com)

题目:

题解:

排序+递归dfs(全排列)

画树形图,注意剪枝的情况

class Solution {
public:vector<string> ret; //收集叶子节点string path; //路径信息bool vis[11]={0}; //标记位置已经使用过int n;string s;vector<string> Permutation(string str) {n=str.size();sort(str.begin(),str.end());s=str;dfs(0);return ret;}void dfs(int pos)//要填的位置{//回溯条件if(pos==n){ret.push_back(path);return;}for(int i=0;i<n;i++) //完整遍历一遍字符串,确定要填的字符{if(!vis[i]){//剪枝if(i>0 && s[i]==s[i-1] && !vis[i-1]) continue;path.push_back(s[i]);vis[i]=true;dfs(pos+1);//恢复原样vis[i]=false;path.pop_back();}}}
};

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

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

相关文章

开发中遇到Electron自定义窗口的问题

开发中遇到Electron自定义窗口的问题 使用VUE3 Electron 开发一个音乐软件&#xff0c;自定义导航栏的放大、缩小和关闭。 其中使用ipcRenderer进行联系Electron&#xff0c;进行放大、缩小和关闭操作。 遇到问题 遇到__dirname is not defined in ES module scope //在V…

一、机器学习概述

1.课程目的 学习机器学习算法、提高算法性能的技巧 2.算法分类 有监督学习supervised learning、无监督学习unsupervised learning (1).有监督学习 在这种学习方式中&#xff0c;算法需要一个带有标签的训练数据集&#xff0c;这些标签通常是每个样本的真实输出或类别。 在有…

[C][指针]详细讲解

目录 0.铺垫1.指针是什么&#xff1f;2.指针变量3.指针和指针类型4.指针类型的意义5.野指针1.野指针成因2.如何规避野指针6.指针运算 6.指针和数组7.二级指针(n级指针&#xff09;8.指针数组9.数组指针10.&数组名VS数组名11.函数指针 12.函数指针数组13.回调函数 0.铺垫 在…

NDIS小端口驱动(九)

PCIe设备难免会遇到一些重置设备的请求&#xff0c;例如重置总线的时候&#xff0c;但是由于NIC网卡的多样性&#xff0c;重置设备确实也有许多要注意的地方&#xff0c;另外还有一些包含WDM的NDIS驱动 微型端口驱动程序硬件重置 微型端口驱动程序必须向 NdisMRegisterMinipo…

C++技能进阶指南——多态语法剖析

前言&#xff1a;多态是面向对象的三大特性之一。顾名思义&#xff0c; 多态就是多种状态。 那么是什么的多种状态呢&#xff1f; 这里的可能有很多。比如我们去买火车票&#xff0c; 有普通票&#xff0c; 学生票&#xff1b; 又比如我们去旅游&#xff0c; 有儿童票&#xff…

视觉与数据的和谐:数字孪生技术在UI设计中的艺术

视觉与数据的和谐&#xff1a;数字孪生技术在UI设计中的艺术 引言 在UI设计的世界里&#xff0c;视觉艺术与数据科学似乎相隔甚远&#xff0c;然而随着数字孪生技术的出现&#xff0c;这两者之间的界限变得模糊。数字孪生技术不仅是一种技术革新&#xff0c;更是一种艺术形式…

LabviewCarla仿真平台搭建一:平台设计及仿真视频可视化实现

文章目录 背景一、平台设计二、视频显示模块实现1、视频模块实现框架2、python-camera数据生成3、labview-camera数据可视化 三、效果展示 背景 在使用carla的时候&#xff0c;有平台的话可以提高效率&#xff0c;因此想结合labview和carla设计一个仿真平台-labcar。其实carla…

【DASBOOK】Mark loves cat

文章目录 一、工具下载二、Mark loves cat解题感悟 一、工具下载 克隆dirsearch仓库&#xff1a; git clone https://github.com/maurosoria/dirsearch.git下载 githack工具 git clone https://github.com/lijiejie/GitHack.git二、Mark loves cat 用dirsearch扫描目录&…

talib 安装

这里写自定义目录标题 talib 安装出错 talib 安装出错 https://github.com/cgohlke/talib-build/releases 这里找到轮子 直接装。

DatePicker日期选择框(antd-design组件库)简单使用

1.DatePicker日期选择框 输入或选择日期的控件。 2.何时使用 当用户需要输入一个日期&#xff0c;可以点击标准输入框&#xff0c;弹出日期面板进行选择。 组件代码来自&#xff1a; 日期选择框 DatePicker - Ant Design 3.本地验证前的准备 参考文章【react项目antd组件-demo:…

算法提高之你能回答这些问题吗

算法提高之你能回答这些问题吗 核心思想&#xff1a;线段树 用sum,lmax,rmax,tmax分别存线段长度,最大前缀,最大后缀,最大子段和 #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N 500010;int n,m;int w[N];s…

简单3步,ERP、OA、CRM等客户端,安全远程访问服务端

如今&#xff0c;企业员工出差远程办公和分支机构的协同工作变得越来越普遍。然而&#xff0c;如何确保在不同地点的员工都能安全、便捷地访问公司内网的C/S&#xff08;Client/Server&#xff09;架构办公系统&#xff0c;是一个亟待解决的问题。 贝锐花生壳内网穿透服务提供…

zdppy_mcrud操作MySQL数据库教程

01 创建数据库连接 .env配置文件 ZDPPY_MCRUD_HOST192.168.234.130 ZDPPY_MCRUD_PORT3306 ZDPPY_MCRUD_USERNAMEroot ZDPPY_MCRUD_PASSWORDzhangdapeng520 ZDPPY_MCRUD_DATABASEzdppy_mcrud_demo连接到MySQL数据库&#xff1a; import env import mcrudenv.load(".env&…

基于JAVA GUI体育馆管理系统的会员功能

Java GUI即Java图形用户界面&#xff0c;是一种使用图形化元素&#xff08;如窗口、按钮、文本框等&#xff09;来构建用户界面的技术。它基于Java的Swing框架&#xff0c;可以用于创建各种复杂的用户界面&#xff0c;包括窗口、对话框、菜单、按钮、文本框、复选框、下拉列表等…

SQL学习小记(一)

SQL学习小记&#xff08;一&#xff09; 1. 存储过程&存储函数1.1. 存储过程1.2. 存储函数 2. DEFINER3. INSERT INTO&#xff08;插入新记录&#xff09;4. REPLACE()…AS…5. SUM()函数6. CASE WHEN7. STR_TO_DATE日期时间处理函数8. SUBSTRING函数9. dateFormat函数10. …

神奇动物在哪里?斯洛文尼亚旅游之野生动物寻踪

不仅拥有优美动人的自然风光&#xff0c;斯洛文尼亚还以其丰富的生物多样性而闻名。得益于国家对大自然开展的保护工作&#xff0c;斯洛文尼亚超过三分之一的国土面积都被规划为保护区&#xff0c;拥有约1.5万种动物和6000种植物&#xff0c;其中不乏众多特有、稀有和濒危动植物…

美国FDA认证是什么,食品FDA注册申请流程

​美国FDA认证是什么&#xff1f; 美国FDA认证&#xff0c;全称为美国食品药品监督管理局&#xff08;Food and Drug Administration&#xff09;的认证&#xff0c;是美国政府为了确保食品、药品、医疗器械等产品的安全性和有效性所设立的重要制度。FDA认证的种类繁多&#x…

【linux】k掉僵尸进程

ps -ef | grep username | grep -v grep | awk {print $2} | xargs kill -9

DT浏览器有一些特点和优势,可能是人们选择使用的原因

DT浏览器有一些特点和优势&#xff0c;可能是人们选择使用的原因&#xff1a; - 好评如潮&#xff1a;DT浏览器在网络上获得了众多用户的好评&#xff0c;口碑良好。 - 使用微软搜索引擎技术&#xff1a;DT浏览器采用了微软的搜索引擎技术&#xff0c;在搜索内容上提供了国内…

Gitlab安装

配置文件&#xff1a; /etc/gitlab/gitlab.rb日志文件&#xff1a; /var/log/gitlab/数据文件&#xff1a; /var/opt/gitlab/静态文件和网页内容&#xff1a; /opt/gitlab/embedded/service/gitlab-rails/public/ # 查看当前状态 git status # 提交本地更改 git commit -m &q…