확장행렬을 바탕으로 문제를 토론해 보세요. 확장 행렬은 크기가 어느 정도 증가하는 행렬입니다.
여기에는 크기가 2의 배수로 확장된 문자 행렬이 있습니다. 즉, 원래 행렬의 크기가 N * N이면 확장된 행렬의 크기는 2N * 2N이 됩니다. (i, j)에 위치한 문자 시퀀스가 주어지고 (i, (j - N - 1)%N)에 위치한 문자 시퀀스를 반환해야 합니다.
일부 초기 확장 행렬을 시각화하여 이해해 보겠습니다.
Given Matrix -> [ a, b ] [ c, d ], 2 X 2 matrix Multiplying with { a, b, c, d } A X [ a, b ] B X [ a, b ] C X [ a, b ] D X [ a, b ] [ c, d ] [ c, d ] [ c, d ] [ c, d ] Expanded Matrix -> [ aa, ab, ba, bb ] [ ac, ad, bc, bd ] [ ca, cb, da, db ] [ cc, cd, dc, dd ], 4X4 matrix To expand again, multiply it by { a, b, c, d } and a matrix of size 8X8 will be formed. Expanded Matrix - > [ aaa, aab, aba, abb, baa, bab, bba, bbb ] [ aac, aad, abc, abd, bac, bad, bbc, bbd ] [ aca, acb, ada, adb, bca, bcb, bda, bdb ] [ acc, acd, adc, add, bcc, bcd, bdc, bdd ] [ caa, cab, cba, cbb, daa, dab, dba, dbb ] [ cac, cad, cbc, cbd, dac, dad, dbc, dbd ] [ cca, ccb, cda, cdb, dca, dcb, dda, ddb ] [ ccc, ccd, cdc, cdd, dcc, dcd, ddc, ddd ]
이것은 두 개의 초기 확장 행렬입니다. 문자 시퀀스 "bcc"를 얻었다고 가정하면 바로 왼쪽 시퀀스인 "add"를 반환해야 합니다. 또한, 행렬이 순환적이라고 가정하면, 즉 주어진 시퀀스가 (i, 0)에 있으면 (i, N-1)에서 시퀀스를 반환합니다.
Input: abb Output: aba Explanation: The sequence just left to abb is aba in the 8X8 matrix. Input: aadc Output: aacd Input: abbcd Output: abbcc
해결 방법을 찾는 방법
먼저 문제를 생각해 보세요. , 생각나는 유일한 해결책 해결책은 주어진 시퀀스를 포함하지만 그다지 복잡해 보이지는 않는 확장 행렬을 찾는 것입니다. 먼저 행렬을 구성한 다음 시퀀스를 검색해야 합니다.
효율적인 접근
초기 확장 행렬을 살펴본 후 이전 요소를 확인할 수 있는 패턴을 발견했습니다. 즉,
은 마지막 인덱스부터 시작하여 문자 시퀀스를 순회합니다.
인덱스 요소가 'b' 또는 'd'인 경우 이를 'a' 또는 'c'로 변경하고 배열 순회를 중지합니다.
색인 요소가 'a' 또는 'c'인 경우 'b' 또는 'd'로 변경하고 다음 색인으로 이동하여 확인합니다.
Example
위 메서드의 C++ 코드
#include <bits/stdc++.h> using namespace std; int main (){ string seq = "abbcd"; int n = seq.length (); // traverse through the string from last. for (int i = n; i >= 0; i--){ // if the element is b or d, change them and stop traversing. if (seq[i] == 'b'){ seq[i] = 'a'; break; } if (seq[i] == 'd'){ seq[i] = 'c'; break; } // if an element is b or d, change them and move to the next element. if (seq[i] == 'a') seq[i] = 'b'; else if (seq[i] == 'c') seq[i] = 'd'; } cout << "The Previous sequence is: " << seq; return 0; }
Output
The previous sequence is: abbcc
결론
이 글에서는 확장 문자 행렬과 그 구성 방식에 대해 논의했습니다. 또한 확장 행렬에서 이전 요소를 찾는 방법도 논의했습니다. 우리는 확장된 문자 매트릭스에 의해 생성된 패턴을 이해함으로써 이 문제를 해결했습니다.
우리는 이 문제를 해결하기 위해 C, Java, Python 등과 같은 프로그래밍 언어로 작성할 수 있는 C++ 코드에 대해서도 논의했습니다. 이 튜토리얼이 도움이 되기를 바랍니다.
위 내용은 확장 행렬에서 C++의 이전 요소를 반환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PHP技巧:快速实现返回上一页功能在网页开发中,经常会遇到需要实现返回上一页的功能。这样的操作可以提高用户体验,让用户更加方便地在网页之间进行导航。在PHP中,我们可以通过一些简单的代码来实现这一功能。本文将介绍如何快速实现返回上一页功能,并提供具体的PHP代码示例。在PHP中,我们可以使用$_SERVER['HTTP_REFERER']来获取上一页的URL

MySQL是一种广泛使用的关系型数据库管理系统,用于存储和管理数据。当我们想要往数据库表中插入新的数据时,通常会使用INSERT语句来实现。在MySQL中,当执行INSERT语句成功插入数据时,会返回一个结果,即插入操作的结果。在本文中,我们将详细讨论MySQL插入数据后返回的结果,并提供一些具体的代码示例。1.插入数据后返回的结果在MySQL中,当成功执

如何使用Vue实现返回上一页特效在前端开发中,经常会遇到需要返回上一页的情况。通过添加返回按钮,可以提供更好的用户体验。本文将介绍如何使用Vue框架来实现返回上一页特效,并提供相应的代码示例。首先,在Vue项目中,需要创建一个页面作为上一页。我们可以通过VueRouter来设置路由,每个路由对应一个组件。在上一页中,我们可以添加一个返回按钮,并通过点击事件

我们可以使用数组循环来从列表中返回最大的元素。主要是通过比较模型来实现的。在某个列表中,最大的数字将与该列表中的所有元素进行比较。该过程将考虑“n”作为输入数量,并将其作为数据值存储在数组中。之后,程序将在循环结束后在输出控制台上显示最大的元素。在本文中,我们将帮助您理解并编写一些Java代码,通过这些代码您可以从数组列表中找到最大的元素。如何使用Java从数组中选择最大的数字?Wecanfindalargestnumberbysortinganarray.TodefineavoidArrayL

PHP中的自定义函数可以通过return语句返回指定类型的值,包括字符串、数字、数组和对象。实战案例:-返回字符串:functiongreet($name){return"Hello,$name!";}-返回数组:functionget_user_data($id){return["name"=>"John","email"=>"john@example.com"];}

基于扩展矩阵讨论一个问题。扩展矩阵是尺寸按某个因子不断增加的矩阵。这里我们有一个字符矩阵,其尺寸按2的倍数扩展,即如果原始矩阵的尺寸是N*N,那么扩展后的矩阵尺寸变为2N*2N。我们给出了一个字符序列位于(i,j)处,我们需要返回位于(i,(j-N-1)%N)处的字符序列。让我们通过可视化一些初始扩展矩阵来理解。GivenMatrix->[a,b][c,d],2X2matrixMultiplyingwith{a,b,c,d}AX[a,b]BX[a,b]CX[a,b]DX[a,b][c,d]

需要制作一个函数,对于输入1返回2,对于输入2返回1。根据您使用的逻辑,可以以多种方式制作此函数。最简单的方法是使用条件语句,如果数字是1,则返回2,否则返回1,其他方法包括使用数学运算(任何一种都可以)和异或运算。示例#include<stdio.h>//Method1usingtheifstatementintreverseif(intx){ if(x==1)return2; elsereturn1;}/

PHP中使用函数返回值的步骤包括:使用function声明函数;使用return语句返回结果;调用函数并捕获返回值。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
