首页 > 其他分享 >deque的rotate方法

deque的rotate方法

时间:2024-01-25 11:55:07浏览次数:25  
标签:deque rotate 元素 旋转 移动 方法 dq

deque对象支持旋转操作,可以将元素向左或向右循环移动。

例如:

from collections import deque

dq = deque([1, 2, 3, 4])

dq.rotate(1)
执行后dq变为:
[4, 1, 2, 3]

元素向右移动了一位,最后一个元素到了最前面。

在这个问题中,我们有一个n*n的矩阵,利用deque来表示,旋转操作可以使列循环移动:

原矩阵:
[[1, 2, 3]
[4, 5, 6]]

旋转后:
[[3, 1, 2]
[6, 4, 5]]

第0列移动到最后,第2列移动到最前。

通过n次旋转,我们可以得到矩阵每种列排列顺序。

这样在每次旋转中计算対角线元素和,最终得到最大值。

所以这个rotate操作实现了按列的循环移位。

利用这个操作,结合记录最大对角线和,我们可以高效解决这个问题。
在deque的rotate方法中,正数表示向右旋转,负数表示向左旋转。

from collections import deque

dq = deque([1, 2, 3, 4])
向右旋转(rotate正数):



dq.rotate(1)   # [4, 1, 2, 3]
dq.rotate(2)   # [3, 4, 1, 2]

元素向右移动,最后一个元素moviel到最前面。

向左旋转(rotate负数):

dq.rotate(-1)  # [2, 3, 4, 1] 
dq.rotate(-2)  # [3, 4, 1, 2]

元素向左移动,第一个元素moviel到最后面。

也就是:

正数表示向右循环旋转
负数表示向左循环旋转
在这个问题中,我们可以通过正数旋转实现按列循环移位,负数旋转实现按行循环移位。

那么向右/左旋转有什么不同呢?

向右旋转每次移动列
向左旋转每次移动行
旋转方向改变了移动的轴(列/行),但求最大对角线元素之和的逻辑是相同的。

标签:deque,rotate,元素,旋转,移动,方法,dq
From: https://www.cnblogs.com/taixian/p/17986870

相关文章

  • IIS日志——统计IP访问次数的一种方法
    配置IIS网站的日志如果没有显示日志功能,到添加删除程序添加windows功能  下载进行日志分析的两个工具LogParser(命令行工具),下载地址:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=24659LogParserStudio(图形化工具),下载地址:http://gallery.techn......
  • 2024-1-25常见请求方法和数据提交
    目录常见请求方法和数据提交常见请求方法axios请求配置这里提供一个案例来学习addEventListener方法总结常见请求方法和数据提交常见请求方法什么是请求方法请求方法:对服务器资源,要执行的操作请求方法操作GET获取数据POST提交数据PUT修改数据(全部)DELETE......
  • 工业4.0开放平台通信 统一架构OPC UA的一种测试方法
    工业4.0和工业物联网(IndustrialInternetofThings,IIoT)的核心挑战在于设备、机器以及来自不同行业服务之间的安全和标准化的数据和信息交换。2016年11月工业4.0平台发布了指导纲要《工业4.0产品需要实现哪些准则》,即对于所有位于工业网络中的产品,必须能够基于OPCUA的信息模型......
  • LinkedList(Deque)中添加/删除方法
    转:https://www.jianshu.com/p/ae28d514003c 1简介最近在使用LinkedList/Deque的时候,发现其中有很多类似的方法,我就想简简单单做个添加/删除的操作,发现竟然有那么多类似的方法,比如“添加”操作可以用的方法有:add/offer/push/offerFirst/offerLast,“删除”操作可以用......
  • 除了Adobe之外,还有什么方法可以将Excel转为PDF?
    前言Java是一种广泛使用的编程语言,它在企业级应用开发中发挥着重要作用。而在实际的开发过程中,我们常常需要处理各种数据格式转换的需求。今天小编为大家介绍下如何使用葡萄城公司的的JavaAPI组件GrapeCityDocumentsforExcel(以下简称为GcExcel)将ExcelXLSX文件转换为PDF。......
  • 基于范数求解缩放因子方法的MIMO系统预编码技术matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022A 3.算法理论概述        多输入多输出(MIMO)技术是无线通信领域的关键技术之一,它利用多个天线同时发送和接收信号,可以显著提高系统容量和传输可靠性。在MIMO系统中,预编码技术是一种重要的信号处理技术,它......
  • Logback排除指定包/类/方法日志输出
    排除指定包/类/方法日志输出如下为logback.xml的配置<springProfilename="pro"><appendername="BUSINESS_API"class="ch.qos.logback.core.rolling.RollingFileAppender"><file>/data/log/${projectName}/api_${p......
  • C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
    C#Methods方法是一段代码,只有在调用时才会运行。您可以将数据(称为参数)传递给方法。方法用于执行某些操作,也被称为函数。为什么使用方法?为了重用代码:定义一次代码,然后多次使用。创建一个方法方法的定义以方法的名称开头,后跟括号()。C#提供了一些预定义的方法,您已经熟悉,例如M......
  • C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
    C#Methods方法是一段代码,只有在调用时才会运行。您可以将数据(称为参数)传递给方法。方法用于执行某些操作,也被称为函数。为什么使用方法?为了重用代码:定义一次代码,然后多次使用。创建一个方法方法的定义以方法的名称开头,后跟括号()。C#提供了一些预定义的方法,您已经熟悉,例如......
  • 2024-1-24案例(地区查询)以及遍历方法
    目录案例(地区查询)步骤解析案例里面的map方法该案例的最后一个将数据插入到页面上案例(地区查询)需求:根据输入的省份名字和城市名字,查询地区并渲染列表步骤首先:确定URL网址和参数说明查询某个省内某个城市的所有地区参数名:pname:省份名字或直辖市名字,比如北京、福建省、辽......