《剑指offer》像素翻转
来源:互联网 发布:新加坡apache国际集团 编辑:程序博客网 时间:2024/06/07 07:06
题目:有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。
给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。
测试样例:
[[1,2,3],[4,5,6],[7,8,9]],3
返回:[[7,4,1],[8,5,2],[9,6,3]]
解析:思想是先上下对折,然后再沿对角线对折
原矩阵 顺时针旋转90度结果// 1 2 3 7 4 1//// 4 5 6 8 5 2// // 7 8 9 9 6 3 public static int[][] transformImage(int[][] mat, int n) { for(int i=0;i<n/2;i++){//上下翻转 for(int j=0;j<n;j++){ int temp =mat[n-1-i][j]; mat[n-1-i][j]=mat[i][j]; mat[i][j]=temp; } } int index=0; //只是翻转上三角 for(int i=0;i<n;i++){//对角线翻转 index=i; for(int j=index;j<n;j++){ if(i!=j){// int temp =mat[i][j]; mat[i][j]=mat[j][i]; mat[j][i]=temp; } } index++; } return mat; }
阅读全文
0 0
- 《剑指offer》像素翻转
- 剑指offer——像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 像素翻转
- 【剑指offer】翻转单词顺序
- 剑指offer-翻转单词顺序
- 剑指offer 翻转单词顺序
- 剑指offer--之翻转字符串
- 带环单链表——题集(三)
- 数组指针和指针数组
- EF连接MySql
- leetcode 5 Longest Palindromic Substring(2)
- Python 常用数据类型学习-总结1
- 《剑指offer》像素翻转
- C语言文件操作总结
- LeetCode 85. Maximal Rectangle
- 初学电子 ADC模块应用的一些问题
- PHP 7 新增的生成器特性
- Java异步编程
- 推荐算法原理感悟
- 数据结构导论——第一遍导图
- JS-13-jquery