首页 > 其他分享 >左/右移模版

左/右移模版

时间:2024-06-02 20:21:58浏览次数:13  
标签:右移 mut reverse 模版 len let usize fn

// 左闭右开
fn reverse(s: &mut String, i: usize, j: usize) {
    let mut p = unsafe { s.as_bytes_mut() };
    let mut j = j - 1;
    let mut i = i;
    while i < j {
        p.swap(i, j);
        i += 1;
        j -= 1;
    }
}

//左移
fn left_rotate(s: &mut String, k: usize) {
  reverse(&mut s, 0, s.len());
  reverse(&mut s, 0, s.len() - k);
  reverse(&mut s, s.len() - k, s.len());
}

//左移
fn right_rotate(s: &mut String, k: usize) {
  reverse(&mut s, 0, s.len());
  reverse(&mut s, 0, k);
  reverse(&mut s, k, s.len());
}

标签:右移,mut,reverse,模版,len,let,usize,fn
From: https://www.cnblogs.com/wyzwsy/p/18227552

相关文章

  • 算法题模版(C语言)
    自用总结一、最大公约数(gcd)函数法:递归法(最简):二、最小公倍数(lcm)函数法:算出最大公约数后无需递归三、斐波那契数列(fibonacci)(fib)递归法(最简):    ......
  • 使用Golang调用腾讯云邮件模版发送邮件
    文章目录一、腾讯云邮件模版创建1.1发信域名配置1.2发信地址设置1.3发信模版设置二、通过Golang发送邮件2.1代码示例2.2代码说明三、常见问题3.1UnsupportedRegion3.2InvalidTemplateID本文档介绍了如何使用Golang编写代码,通过腾讯云邮件服务(SES)发送带有模......
  • 众测方案模版
    众测背景众测安排众测轮次:众测时间:集中1小时、日常使用众测人员:测试数据:任意正式账号众测范围:开展形式:开放式众测,众测人员进行自由探索   测试前准备相关资料:加入众测群方便沟通问题(群号):联系人:  众测激励&奖品问题评定参考条件:是否影响核心流程影......
  • thymeleaf模版引擎
    什么是模版引擎?模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。Thymeleaf介绍Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是为您的开发工作流程带......
  • 5.14二维数组——右移,平移,鞍点计算
    1.矩阵平移问题题目如下:给定一个 n×n 的整数矩阵。对任一给定的正整数 k<n,我们将矩阵的偶数列的元素整体向下依次平移1、……、k、1、……、k、……个位置,平移空出的位置用整数 x 补。你需要计算出结果矩阵的每一行元素的和。输入格式:输入第一行给出3个正整数:n(<100)......
  • varlet库loading组件模版使用转函数式调用方法
    2024年5月8日10:34:19varlet库loading组件模版使用转函数式调用方法鉴于在H5中varlet.Snackbar在axios请求封装函数中总是会产生阻塞现象问题,而varlet.loading又不能函数式调用。//loading.vue<scriptlang="ts"setup>import{ref,onMounted}from'vue'import{useWi......
  • 分块=-=优雅的暴力=-=中位数模版
    #include<bits/stdc++.h>//#defineintlonglong#definelllonglong#definefd(i,a,b)for(registerinti=a;i<=b;i=-~i)#definebd(i,a,b)for(registerinti=a;i>=b;i=~-i)usingnamespacestd;constintN=1e5+509,M=509,MOD=10007;intn,siz,id;......
  • verilog 状态机模版
    定义所有状态参数localparamIDLE=3'b000;localparamBOF=3'b001;localparamFIND=3'b010;localparamCHANGE=3'b011;localparamERROR=3'b100;localparamEOF=3'b101;always@(posedgeI_sys_clkor......
  • 【vue3入门】-【17】模版引用
    模版引用虽然Vue的声明性渲染模型抽象了大部分的DOM的直接操作,但在某些情况下,我们仍然需要直接访问底层DOM元素。要实现这一点,我们可以使用特殊的refattribute挂载结束后引用都会被暴露在this.$refs只上,从this.$refs中按照js原生方法获取元素属性或变更元素属性<template>......
  • ETLCloud平台组件模版的使用技巧
    ETL工具介绍在ETLCloud平台中配备了各种不同的组件、模板、规则,用户可运用不同类型的组件来实现想要的业务流程。接下来直接进入平台组件模板的使用技巧说明吧。使用技巧1.组件复制平时在使用的时候,如果遇到要用到一个组件,需要再来个相同组件时,可以通过右键组件复制一个,里面......