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

[LeetBook]【学习日记】获取子字符串 + 颠倒子字符串顺序

题目

动态口令

某公司门禁密码使用动态口令技术。初始密码为字符串 password,密码更新均遵循以下步骤:
设定一个正整数目标值 target 将 password 前 target 个字符按原顺序移动至字符串末尾 请返回更新后的密码字符串。
示例 1:
输入: password = “s3cur1tyC0d3”, target = 4 输出: “r1tyC0d3s3cu”
示例 2:
输入: password = “lrloseumgh”, target = 6 输出: “umghlrlose”
提示:
1 <= target < password.length <= 10000

解法1:利用 C++ 中的 substr() 获取子字符串

  • 利用 C++ 中的 substr() 获取子字符串后进行拼接即可
  • string.substr(a, b) 将返回 a 到 b-1 的 string 对象
class Solution {
public:string dynamicPassword(string password, int target) {string substr1 = password.substr(0, target);string substr2 = password.substr(target);return substr2 + substr1;}
};

解法2:ab != ba = ((a-1)(b-1))-1

  • 在交换律不一定成立的时候,有ab != ba = ((a-1)(b-1))-1 ,设原字符串为 ab,要得到 ba 就进行三次反转(求逆)
  • 类似于矩阵或者向量叉乘,交换律不一定成立
class Solution {
public:string dynamicPassword(string password, int target) {reverse(password.begin(), password.begin() + target);reverse(password.begin() + target, password.end());reverse(password.begin(), password.end());return password;}
};作者:Krahets
链接:https://leetcode.cn/leetbook/read/illustration-of-algorithm/lh3167/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章:

  • Ruoyi框架上传文件
  • 超级副业SOP,各行各业,太全了!
  • VM新建虚拟机
  • Flask g对象和插件
  • 手写分布式配置中心(二)实现分布式配置中心的简单版本
  • 美摄科技实时语音数字人解决方案
  • Vue+OpenLayers7入门到实战目录
  • python--产品篇--游戏-坦克
  • Combining Buffered I/O and Direct I/O in Distributed File Systems——论文泛读
  • 环境配置、如何安装OpenHarmony HAR
  • 一次电脑感染Synaptics Pointing Device Driver病毒的经历,分享下经验
  • Java 面试题
  • 前端 WebSocket 的一些使用
  • 【Spring底层原理高级进阶】Spring Kafka:实时数据流处理,让业务风起云涌!️
  • 实战解析:打造风控特征变量平台,赋能数据驱动决策
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • django开发-定时任务的使用
  • Invalidate和postInvalidate的区别
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Javascript编码规范
  • Less 日常用法
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Quartz初级教程
  • Rancher-k8s加速安装文档
  • Redis学习笔记 - pipline(流水线、管道)
  • Shell编程
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Twitter赢在开放,三年创造奇迹
  • underscore源码剖析之整体架构
  • Vue.js-Day01
  • Windows Containers 大冒险: 容器网络
  • 跨域
  • 线性表及其算法(java实现)
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • HanLP分词命名实体提取详解
  • Nginx实现动静分离
  • ​io --- 处理流的核心工具​
  • # 数论-逆元
  • #pragma multi_compile #pragma shader_feature
  • #微信小程序(布局、渲染层基础知识)
  • (26)4.7 字符函数和字符串函数
  • (4) PIVOT 和 UPIVOT 的使用
  • (poj1.3.2)1791(构造法模拟)
  • (pojstep1.3.1)1017(构造法模拟)
  • (八)Flask之app.route装饰器函数的参数
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (蓝桥杯每日一题)love
  • (四)Controller接口控制器详解(三)
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .chm格式文件如何阅读
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Core WebAPI中使用swagger版本控制,添加注释