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

笔试——Day33

文章目录

  • 第一题
    • 题目
    • 思路
    • 代码
  • 第二题
    • 题目:
    • 思路
    • 代码
  • 第三题
    • 题目:
    • 思路
    • 代码

第一题

题目

跳台阶扩展问题
在这里插入图片描述

思路

考虑青蛙跳到第n级台阶的跳法。青蛙在最后一步可以
跳1级:那么在此之前,它需要跳到第n-1级,有f(n-1)种方法
跳2级:在此之前,它需要跳到第n-2级,有f(n-2)种方法
跳n-1级:在此之前,它需要跳到第1级,有f(1)种方法
直接跳n级:这是一种新的方法,即直接从地面跳到第n级

因为:
f(n) = f(n-1) + f(n-2) + ... + f(1) + 1
f(n-1) = f(n-2) + f(n-3) + ... + f(1) + 1
所以:
f(n) - f(n-1) = f(n-1)
f(n) = 2 * f(n-1)
即:
f(n) = 2^(n-1)

代码

#include <iostream>
#include <cmath>
using namespace std;int main()
{int n = 0; cin >> n;cout << pow(2, n - 1) << endl;return 0;
}

第二题

题目:

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

在这里插入图片描述

思路

滑动窗口: 使用一个kind来标记窗口中字符的种类数量,
<2时,进窗口;
>2时,出窗口;
出完后,更新当前结果

代码

#include <iostream>
#include <string>
using namespace std;int main() 
{int hash[26] = {0};string s; cin >> s;int left = 0, right = 0;int res = 0;int kind = 0;while(right < s.size()){if(hash[s[right] - 'a']++ == 0) kind++;while (kind > 2) {if(hash[s[left++] - 'a']-- == 1) kind--;}res = max(res, right - left + 1);right++;}cout << res << endl;return 0;
}
// 64 位输出请用 printf("%lld")

第三题

题目:

字符串的排列
在这里插入图片描述

思路

递归DFS

代码

class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param str string字符串 * @return string字符串vector*/bool visited[20] = {0};vector<string> res;string path;string s;int n;vector<string> Permutation(string str) {// write code heren = str.size();sort(str.begin(), str.end());s = str;dfs(0);return res;}void dfs(int pos){if(pos == n){res.push_back(path);return ;}for(int i = 0; i < n; i++){if(!visited[i]){if(s[i] == s[i - 1] && !visited[i - 1]) continue;path.push_back(s[i]);visited[i] = true;dfs(pos + 1);visited[i] = false;path.pop_back();}}}
};
http://www.lryc.cn/news/614842.html

相关文章:

  • java web项目入门了解
  • 微信原生小程序 Timeline 组件实现
  • 在Word和WPS文字中快速拆分、合并表格
  • JavaWeb03——javascript基础语法
  • C++-AVL树
  • 微软将于 10 月停止混合 Exchange 中的共享 EWS 访问
  • SOLi-LABS Page-3 (Stacked injections) --39-53关
  • 使用 Vuepress + GitHub Pages 搭建项目文档(2)- 使用 GitHub Actions 工作流自动部署
  • 如何解决 Vue 项目启动时出现的 “No such module: http_parser” 错误问题
  • 2G内存的服务器用宝塔安装php的fileinfo拓展时总是卡死无法安装成功的解决办法
  • 企业级web应用服务器TOMCAT入门详解
  • kettle插件-kettle MinIO插件,轻松解决文件上传到MinIO服务器
  • 解决本地连接服务器ollama的错误
  • 大语言模型提示工程与应用:大语言模型对抗性提示安全防御指南
  • LLVM编译器入门
  • Java基础-TCP通信单服务器接受多客户端
  • 关于开发语言的一些效率 从堆栈角度理解一部分c java go python
  • 软考 系统架构设计师系列知识点之杂项集萃(119)
  • 数据结构(9)——排序
  • QT第三讲- 机制、宏、类库模块
  • 数字图像处理基础——opencv库(Python)
  • 算法_python_牛客华为机试笔记_01
  • 【Python 高频 API 速学 ③】
  • RecyclerView 中 ViewHolder
  • TDengine IDMP 快速体验(1. 通过云服务)
  • 【CVPR2025】计算机视觉|PX:让模型训练“事半功倍”!
  • vscode/trae 的 settings.json 中配置 latex 的一些记录
  • 设备点检系统二维码的应用
  • 我用C++和零拷贝重构了文件服务器,性能飙升3倍,CPU占用降低80%
  • Amazon Linux 训练lora模型的方式