LeetCode 2075. 解码斜向换位密码(模拟)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

字符串 originalText 使用 斜向换位密码 ,经由 行数固定 为 rows 的矩阵辅助,加密得到一个字符串 encodedText 。

originalText 先按从左上到右下的方式放置到矩阵中。
在这里插入图片描述

先填充蓝色单元格,接着是红色单元格,然后是黄色单元格,以此类推,直到到达 originalText 末尾。
箭头指示顺序即为单元格填充顺序。所有空单元格用 ' ' 进行填充。
矩阵的列数需满足:用 originalText 填充之后,最右侧列 不为空

接着按行将字符附加到矩阵中,构造 encodedText
在这里插入图片描述

先把蓝色单元格中的字符附加到 encodedText 中,接着是红色单元格,最后是黄色单元格。箭头指示单元格访问顺序。

例如,如果 originalText = "cipher"rows = 3 ,那么我们可以按下述方法将其编码:
在这里插入图片描述

蓝色箭头标识 originalText 是如何放入矩阵中的,红色箭头标识形成 encodedText 的顺序。在上述例子中,encodedText = "ch ie pr"

给你编码后的字符串 encodedText 和矩阵的行数 rows ,返回源字符串 originalText

注意:originalText 不 含任何尾随空格 ' ' 。生成的测试用例满足 仅存在一个 可能的 originalText 。

示例 1:

输入:encodedText = "ch   ie   pr", rows = 3
输出:"cipher"
解释:此示例与问题描述中的例子相同。

示例 2:
在这里插入图片描述

输入:encodedText = "iveo    eed   l te   olc", rows = 4
输出:"i love leetcode"
解释:上图标识用于编码 originalText 的矩阵。 
蓝色箭头展示如何从 encodedText 找到 originalText 。

示例 3:

在这里插入图片描述

输入:encodedText = "coding", rows = 1
输出:"coding"
解释:由于只有 1 行,所以 originalText 和 encodedText 是相同的。

示例 4:
在这里插入图片描述

输入:encodedText = " b  ac", rows = 2
输出:" abc"
解释:originalText 不能含尾随空格,但它可能会有一个或者多个前置空格。提示:
0 <= encodedText.length <= 10^6
encodedText 仅由小写英文字母和 ' ' 组成
encodedText 是对某个 不含 尾随空格的 originalText 的一个有效编码
1 <= rows <= 1000
生成的测试用例满足 仅存在一个 可能的 originalText

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/decode-the-slanted-ciphertext
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 按题意模拟即可
class Solution {
public:string decodeCiphertext(string encodedText, int rows) {int n = encodedText.size(), cols = n/rows;vector<vector<char>> mat(rows, vector<char>(cols));for(int i = 0; i < n; ++i)mat[i/cols][i%cols] = encodedText[i];string ans;for(int j = 0; j < cols; ++j){int r = 0, c = j;while(r<rows && c<cols)ans += mat[r++][c++];//45度向下遍历}while(ans.size() && ans.back()==' ')ans.pop_back();//删除尾随空格return ans;}
};

112 ms 45 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

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

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

相关文章

php 无法加载css文件,解决ThinkPHP样式无法加载问题(CSS,JS),

解决ThinkPHP样式无法加载问题(CSS,JS)解决了ThinkPHP风格无法加载的问题(CSS&#xff0c;JS)&#xff0c;以下是thinkphp框架教程栏目&#xff0c;对ThinkPHP风格无法加载(CSS&#xff0c;JS)问题的解决方案&#xff0c;希望对有需要的人有所帮助&#xff01;1.项目入口文件in…

UI设计培训中所需要的手绘能力

一、漫画 主要不是绘画能力&#xff0c;更重分镜头&#xff0c;叙事能力&#xff0c;脚本编写能力&#xff0c;很多画的不好&#xff0c;但依然存活很多年的漫画还真不少&#xff0c;甚至可以证明&#xff0c;绘画能力的底线可以很低。 二、游戏原画 虽然工作内容是画画&#x…

LeetCode 2076. 处理含限制条件的好友请求(并查集)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n &#xff0c;表示网络上的用户数目。每个用户按从 0 到 n - 1 进行编号。 给你一个下标从 0 开始的二维整数数组 restrictions &#xff0c;其中 restrictions[i] [xi, yi] 意味着用户 xi 和用户 yi 不能 成为 朋友 &#xff…

java检查两个字符串是否包含,java判断一个字符串是否包含另外一个字符串,java另外一个,要检查一个字符串是否包含...

java判断一个字符串是否包含另外一个字符串&#xff0c;java另外一个,要检查一个字符串是否包含要检查一个字符串是否包含另外一个字符串需要使用indexOf()方法&#xff0c;如果indexOf方法返回大于等于0的值&#xff0c;则表示包含&#xff0c;若返回-1则表示字符串中不包含。…

设置停靠模式,切割设置星级图标

//星级 [self.startView setStarLevelFormStr:model.starCurrent]; - (void)createUI{ //在当前图片上放置五星级图片 UIImageView * upImageView [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 65, 23)]; upImageView.tag 2000; upImageView.image [UIImage imageN…

LeetCode 2078. 两栋颜色不同且距离最远的房子

文章目录1. 题目2. 解题1. 题目 街上有 n 栋房子整齐地排成一列&#xff0c;每栋房子都粉刷上了漂亮的颜色。给你一个下标从 0 开始且长度为 n 的整数数组 colors &#xff0c;其中 colors[i] 表示第 i 栋房子的颜色。 返回 两栋 颜色 不同 房子之间的 最大 距离。 第 i 栋房…

php aura,AuraPHP路由器没有拿起参数

我不认为这与Aura.Router有关。引擎盖下的Aura.Router v 3.x使用Zend框架diactoros(Nothing with Diactoros也:-))。您可以看到匹配是如何完成的&#xff1a;https://github.com/auraphp/Aura.Router/blob/a6897f8f66fe8b89d6ef0ab988ff77b5f77076ce/src/Matcher.php#L115看起来…

LeetCode 2079. 给植物浇水(前缀和)

文章目录1. 题目2. 解题1. 题目 你打算用一个水罐给花园里的 n 株植物浇水。 植物排成一行&#xff0c;从左到右进行标记&#xff0c;编号从 0 到 n - 1 。其中&#xff0c;第 i 株植物的位置是 x i 。x -1 处有一条河&#xff0c;你可以在那里重新灌满你的水罐。 每一株植…

matlab提取图像中的一部分并移动,在Matlab中从图像中提取对象

这是一个很好的解决问题.这是一种你可以使用的方法,但我承认它绝不是完美的,也可能不那么健壮.希望它能带给你创意……我所做的基本上是用中值滤波器过滤图像(就像你做的那样)并使用bwareaopen删除小元素.然后我打电话给regionprops来获得一堆属性,其中最重要的是区域和偏心.这…

LeetCode 2080. 区间内查询数字的频率(哈希+二分查找)

文章目录1. 题目2. 解题2.1 超时解2.2 优化1. 题目 请你设计一个数据结构&#xff0c;它能求出给定子数组内一个给定值的 频率 。 子数组中一个值的 频率 指的是这个子数组中这个值的出现次数。 请你实现 RangeFreqQuery 类&#xff1a; RangeFreqQuery(int[] arr) 用下标从…

java里的super杀意思,java中Super到底是什么意思?必须举例说明!

马克-to-win&#xff0c;Super是一个参考(或说指针)指向他紧邻的父类(见下面的例子)。Super is a reference of its neighbour superclassSo Use super to call superclass’s constructor用super可以指向被隐藏的父类的同名成员。Use super to call superclass’s members tha…

C#中的多文档的使用

1.首先&#xff0c;新建一个窗体&#xff0c;设置窗体的IsMdiContainer true; 窗体的大小为700*600 长700 高600 2.在窗体的Load事件中添加如下代码 private void FormMain_Load(object sender, EventArgs e){Form form new Form();form.FormBorderStyle FormBorderStyle.…

list.php tid= field,dedecms列表页模板中调用当前栏目文章数

此方法适合5.6及5.7 其它未测修改 include/common.func.php文件&#xff0c;在最后加以下代码&#xff1a;//统计栏目文章数function GetTotalArc($tid){global $dsql;$sql GetSonIds($tid);$row $dsql->GetOne("Select count(id) as dd From dede_archives where ty…

LeetCode 1901. 找出顶峰元素 II(二分查找)

文章目录1. 题目2. 解题1. 题目 一个 2D 网格中的 顶峰元素 是指那些 严格大于 其相邻格子(上、下、左、右)的元素。 给你一个 从 0 开始编号 的 m x n 矩阵 mat &#xff0c;其中任意两个相邻格子的值都 不相同 。找出 任意一个 顶峰元素 mat[i][j] 并 返回其位置 [i,j] 。 …

Tracing mysqld Using DTrace

http://dev.mysql.com/doc/refman/5.6/en/dba-dtrace-server.html转载于:https://www.cnblogs.com/zengkefu/p/4900476.html

LeetCode 2085. 统计出现过一次的公共字符串(哈希)

文章目录1. 题目2. 解题1. 题目 给你两个字符串数组 words1 和 words2 &#xff0c;请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。 示例 1&#xff1a; 输入&#xff1a;words1 ["leetcode","is","amazing","as",&q…

php表白页面,2020情人节表白页面(代码分享)

趁此单身汪伤心之日&#xff0c;作为一名前端程序猿的我也按捺不住了&#xff0c;撸个表白页面送给广大想表白的人儿。话不多说&#xff0c;先看效果(网页地址)&#xff1a;功能一个网页输入名称&#xff0c;生成带参数的网址。浏览器输入该网址&#xff0c;即可打开带有该名字…

matlab玫瑰,网上收到的用matlab画玫瑰花的代码怎么不行啊,报告错误,求大神

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼function plot_rosedraw_main(450,90);function draw_main(x,y)%粉红色玫瑰arcdata{1}[65 -60 150 350 866 -54 300 470 865 -56 30 230 1064 -57 300 490 17];ellipsedata{1}[73 -30 250 450 27 4059 -30 100 290 27 4065 -40 140…

设计类职业

设计类分&#xff1a; 1、视觉&#xff08;2D 3D 2、声音 3、活动 很多时候是三种组合在一起&#xff0c;伴随不同行业延伸发展。 八类设计人才成职场红人 由于人才紧缺&#xff0c;以下八类设计人才已成为职场红人&#xff0c;未来发展前景看好。 1、产品设计师 工业生产型企业…

LeetCode 2086. 从房屋收集雨水需要的最少水桶数(贪心)

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的字符串 street 。street 中每个字符要么是表示房屋的 ‘H’ &#xff0c;要么是表示空位的 ‘.’ 。 你可以在 空位 放置水桶&#xff0c;从相邻的房屋收集雨水。 位置在 i - 1 或者 i 1 的水桶可以收集位置为 i 处房…