C#实现N*N的顺时针旋转矩阵
来源:互联网 发布:linux 重启后 syslog 编辑:程序博客网 时间:2024/06/08 11:41
看面试算法题突然想到大学时写的一算法题
using System;using System.Collections.Generic;using System.Linq;using System.Text;//按三//1 2 3//8 9 4//7 6 5//按四//1 2 3 4//12 13 14 5 //11 16 15 6//10 9 8 7//输出按n时的矩阵namespace n时矩阵{ class Program { public static void Display(int[,] A) { if (A.GetLength(0) % 2 == 0) { A[A.GetLength(0) / 2, A.GetLength(1) / 2] = A[A.GetLength(0) / 2 - 1, A.GetLength(1) / 2] + 1; } for (int i = 0; i < A.GetLength(0); i++) { for (int j = 0; j < A.GetLength(1); j++) { Console.Write("{0,4}", A[i, j]); } Console.WriteLine(); } } static void Main(string[] args) { int i,m,n; Random r = new Random(); n = r.Next(1, 20); Console.WriteLine("随机矩阵边长为"+n); int[,] A = new int[n, n]; A[0,0]=1; for (m = 0; m <A.GetLength(0) / 2; m++) { for (i = m; i < n-1 ; i++) { A[m, i+1 ] = A[m, i] + 1; } for (i = m; i < n-1 ; i++) { A[i+1 , n - 1] = A[i, n - 1] + 1; } for (i = n - 1; i >= m+1; i--) { A[n - 1, i - 1] = A[n - 1, i] + 1; } for (i = n - 1; i >=m+2; i--) { A[i-1, m] = A[i, m] + 1; } A[m + 1, m + 1] = A[m + 1, m] + 1; n--; } Console.WriteLine("矩阵为:"); Display(A); Console.ReadLine(); } }}
随机生成边长在1~20中的矩阵
- C#实现N*N的顺时针旋转矩阵
- 顺时针旋转N*N阶矩阵储存的图片
- M*N矩阵顺时针旋转90度
- 每天一道LeetCode-----顺时针旋转n×n矩阵90度
- 【数组】将N*N的int类型矩阵顺时针旋转90度
- 顺时针填充m×n回旋矩阵 C#
- 用Swift3实现n*n阶矩阵顺时针输出
- 顺时针打印m*n矩阵
- n*n字符矩阵旋转
- M*N矩阵旋转
- 打印N*N旋转矩阵 的一个解法
- N*N矩阵的旋转 不开辟新空间
- n*n螺旋矩阵的实现
- 实现两个N*N矩阵的乘法
- C#实现两个N*N矩阵的乘法,矩阵必须由一维数组表示
- 人人都来写算法 之 矩阵顺时针旋转90度,空间效率O(1),时间效率O(n*n)
- 【重构】人人都来写算法 之 矩阵顺时针旋转90度,空间效率O(1),时间效率O(n*n)
- 顺时针螺旋输出矩阵中的1到n*n的数字
- android 框架试用--spring for android
- 《c陷阱与缺陷》笔记--extern
- 事务隔离级别
- 嵌入式ucos系统上移植实现USB UVC协议(支持HD 720P Webcam)
- Ext.TabPanel的api简介
- C#实现N*N的顺时针旋转矩阵
- Eclipse修改背景保护色及变量、方法的高亮
- eclipse maven plugin 插件 安装 和 配置
- Webservice问题
- SurfaceView、SurfaceHolder和SurfaceHolder.CallBack的简单介绍
- Depository Trust Company - DTC/Municipal Bond
- ipv6配置bat
- SQL中JOIN和UNION区别、用法及示例介绍
- 端口查看&关闭进程及Kill使用