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

笔试——Day12

文章目录

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

第一题

题目

删除公共字符
在这里插入图片描述

思路

模拟:
遇到需要删除的字符,则不添加到结果中

代码

在这里插入图片描述

第二题

题目:

两个链表的第一个公共结点

在这里插入图片描述

思路

模拟:

  • 先计算两个链表的长度
  • 再让长的先走差值步
  • 最后同时走,走到结束,如果没有相遇则为空

代码

在这里插入图片描述

第三题

题目:

mari和shiny

在这里插入图片描述

思路

动态规划——多状态的线性 dp
状态表示:

  • s[i]表示:字符串[0, i]中,有多少个s
  • h[i]表示:字符串[0, i]中,有多少个sh
  • y[i]表示:字符串[0, i]中,有多少个shy

状态转移方程:
s[i]

  • str[i] == 's's[i - 1] + 1
  • str[i] != 's's[i - 1]

h[i]

  • str[i] == 'h's[i - 1] + h[i - 1]
  • str[i] != 'h'h[i - 1]

y[i]

  • str[i] == 'y'h[i - 1] + y[i - 1]
  • str[i] != 'y'y[i - 1]

结果返回:y[n - 1]

优化
我们发现只有当当前字符为有效时(即shy),才会相加,否则等于之前的值;

  • s:当前 's'的数量
  • h:当前 'sh' 子序列的数量
  • y:当前 'shy' 子序列的数量

代码

在这里插入图片描述

http://www.dtcms.com/a/285956.html

相关文章:

  • 阿里云alicloud liunux3-安装docker
  • Python编程进阶知识之第二课学习网络爬虫(selenium)
  • JavaScript进阶篇——第九章 异常、this 与性能优化全解(终)
  • 14.链路聚合技术
  • 量化交易如何查询CFD指数实时行情
  • postman接口测试,1个参数有好几个值的时候如何测试比较简单快速?
  • IP协议深入理解
  • 20250718-4-Kubernetes 应用程序生命周期管理-Pod对象:实现机制_笔记
  • 如何保证缓存数据的一致性:数据库和缓存数据一致性,本地缓存和Redis缓存怎么保证数据一致性
  • Netty封装Websocket并实现动态路由
  • Spring Boot 应用优雅停机与资源清理:深入理解关闭钩子
  • 比特币技术简史 第四章:挖矿机制 - 挖矿算法、难度调整与矿池
  • 在ajax中什么时候需要将返回值类型做转换
  • Excel基础:格式化
  • 产品需求文档(PRD)格式全解析:从 RP 到 Word 的选择与实践
  • 2023 年 3 月青少年软编等考 C 语言八级真题解析
  • 回归预测 | MATLAB实现DBO-BP蜣螂算法优化BP神经网络多输入单输出回归预测
  • 借助AI学习开源代码git0.7之三git-init-db
  • MyBatis-Flex代码生成
  • ARINC818协议详解
  • KRaft 角色状态设计模式:从状态理解 Raft
  • 美创科技建设项目被评为中国信通院医疗领域“磐安”优秀案例
  • A33-vstar报错记录:ERROR: build kernel Failed
  • 北京-4年功能测试2年空窗-报培训班学测开-第五十四天
  • (笔记+作业)第五期书生大模型实战营---L2G2000 GraphGen:训练数据合成实践
  • U盘运维笔记
  • 前端-CSS盒模型
  • 源鉴SCA4.9︱多模态SCA引擎重磅升级,开源风险深度治理能力再次进阶
  • world models and Human–Object Interaction (HOI)
  • Ubuntu locale命令介绍(查询和设置当前用户的语言、国家/地区以及字符编码等环境设置)