1.6---旋转二维数组,旋转图像像素,旋转矩阵,90度(CC150)

import java.util.*;

public class Transform {
    public int[][] transformImage(int[][] matrix, int n) {
        // write code here
           n = matrix.length;
        int limit = (n-1)/2;
        for(int i=0;i<=limit; i++){
            for(int j=i;j<n-i-1;j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[n-1-j][i];
                matrix[n-1-j][i] = matrix[n-1-i][n-1-j];
                matrix[n-1-i][n-1-j] = matrix[j][n-1-i];
                matrix[j][n-1-i] = temp;
            }
        }

        return matrix;
    }
}
时间: 2024-08-07 04:14:04

1.6---旋转二维数组,旋转图像像素,旋转矩阵,90度(CC150)的相关文章

旋转二维数组

1 package test; 2 /* 3 * 1 2 3 4 5 4 * 16 17 18 19 6 5 * 15 24 25 20 7 6 * 14 23 22 21 8 7 * 13 12 11 10 9 8 * 9 * 写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列. 10 * */ 11 public class Test6 12 { 13 public static void main(String[] args) 14 { 15 array

练习-二维数组旋转

#slist = [[i for i in range(4)] for l in range(8)] # slist = [ # [4, 5, 2, 7], # [8, 7, 4, 2], # [1, 9, 7, 3], # [0, 4, 5, 6], # ] # 4*4 slist = [ [4, 5, 2, 7], [8, 7, 4, 2], [1, 9, 7, 3], [0, 4, 5, 6], [1, 9, 7, 3], ] # 4*5 # slist = [ # [1, 0, 1, 8

day4 二维数组旋转90度

二维数组的旋转其实就是数组里面的元素对调的情况:下面有一个4×4的二维数组,[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]],现在要求把二维数组转化为下列形式,[[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]].下面来看一下流程图: 流程图: 流程图如上面所示,就是进行简单的互换而已,下面我们来用代码实现行列互换: data = [[i for i in range(4)

二维数组90度旋转

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018-01-15 20:40# @Author : hhj# @Site : ## [0, 1, 2, 3, 4]# [0, 1, 2, 3, 4]# [0, 1, 2, 3, 4]# [0, 1, 2, 3, 4]# [0, 1, 2, 3, 4]# ----------------二维数组90度旋转----# [0, 0, 0, 0, 0]# [1, 1, 1, 1, 1]# [2

python 二维数组90°旋转

题目: 使用python生成一个4×4二维数组并将其顺时针旋转90° 源码如下: import random datarow=[] data=[] for i in range(4):     for j in range(4):         datarow.append(random.randint(10,80))     data.append(datarow)     datarow = [] print("data") for k in data:     print(k)

算法之二维数组旋转

现在有个二维数组:data=[0,1,2,3],[0,1,2,3],[0,1,2,3],[0,1,2,3],每一行都是[0,1,2,3],要求顺时针旋转90度,变成每一列都是[0,1,2,3]. #首先生成一维数组的语句是: row=[i for i in range(6)] print(row) #运行结果: #[0, 1, 2, 3, 4, 5] #生成二维数组的语句是: data=[[i for i in range(4)] for k in range(4)] for j in data

二维数组的传输 (host &lt;-&gt; device)

前言 本文的目的很明确:介绍如何将二维数组传递进显存,以及如何将二维数组从显存传递回主机端. 实现步骤 1. 在显存中为二维数组开辟空间 2. 获取该二维数组在显存中的 pitch 值 (cudaMallocPitch 实现) 3. 将二维数组传递进显存 (cudaMemcpy2D 实现) 4. 在显存中对该二维数组进行处理 (目前必须按照 1 维数组的规则进行处理) 5. 将结果传递回内存 (cudaMemcpy2D实现) 重要概念 - pitch 对于内存的存取来说,对准偏移量为2的幂(现在

【Java学习笔记之八】java二维数组及其多维数组的内存应用拓展延伸

多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在数据类型的后面,也可以在数组名称的后面,其它的依次类推. 例如: int[][] map; char c[][]; 和一维数组一样,数组声明以后在内存中没有分配具体的存储空间,也没有设定数组的长度.  -------------------------------------------------

汇编学习:二维数组遍历

作为正式接触汇编的开篇,本文将研究二维数组的遍历问题.在图像处理中,通常需要遍历图像像素(即二维数组).下面给出三个版本的遍历函数,并研究他们的汇编代码(VC2010编译器,x86版,Release模式). (1)在两层循环内每次根据行列索引计算元素位置. (2)为了避免在内存循环内的乘法计算,可在每次外层循环中计算好行起始地址,内层循环每次执行++操作. (3)将外层循环的乘法操作也去掉,在循环外部先计算好数组的起始地址,内层循环每次执行++操作即可. 测试程序实现对图像的反相操作(即B=25

图像转换为二维数组存入DSP6748

 本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/ 这篇博客主要是要讲怎么把一张图片存成一个二进制的文件,直接存到DSP中来做处理,而不用考虑DSP与图像采集模块,或者上位机之间的数据通信使得我们更加专注于算法的开发研究和处理功能的实现. 这是最近在做的一样工作,主要开发对雷达图像处理的目标检测算法.思路是先把现成的雷达图片转化为一个数组,然后以头文件的