`

Rotate Image

阅读更多
You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:
Could you do this in-place?

旋转一个n * n的二维数组,要求in-place完成。in-place的意思就是不要开辟额外的空间。我们可以从最外层开始旋转,一直到最里面的一层。长度为n的数组一共要旋转n / 2次。每一层旋转对应一个for循环。代码如下:
public class Solution {
    public void rotate(int[][] matrix) {
        if(matrix == null || matrix.length == 1) return;
        int m = matrix.length;
        int times = m / 2;
        for(int layer = 0; layer < times; layer++) {
            int first = layer;
            int last = m - 1 - layer;
            for(int i = first; i < last; i++) {
                int top = matrix[first][i];
                matrix[first][i] = matrix[m - 1 - i][first];
                matrix[m - 1 - i][first] = matrix[m - first - 1][m - 1 - i];
                matrix[m - first - 1][m - 1 - i] = matrix[i][m - 1 - first];
                matrix[i][m - 1 - first] = top;
            }
        }
    }
}
分享到:
评论

相关推荐

    RotateImage

    最新的rotateimage图像处理组件,实现图片以中心/非中心 作为旋转焦点进行任意角度的旋转 内有Demo可供参考学习 a component similar to TImage with the ability to show the image rotated at an arbitrary ...

    matlab开发-RotateImage

    在MATLAB中,`RotateImage`通常是指一个用于图像旋转的自定义函数。这个功能强大的工具可以帮助用户以特定角度对图像进行旋转,是图像处理和计算机视觉领域中的基础操作之一。MATLAB以其丰富的数学运算库和简洁的...

    rotate image matlab

    在提供的文件`image_rotate.m`中,很可能包含了实现图像旋转的MATLAB代码。此文件可能包含一个函数,该函数接收图像和旋转角度作为输入,然后返回旋转后的图像。可以通过打开并分析代码来了解具体实现细节。 另一个...

    matlab.rar_rotate image matlab_图像旋转 插值

    在图像处理领域,旋转图像是一项常见的操作,尤其是在数据分析、计算机视觉和图像分析中。本主题主要探讨如何在MATLAB环境中实现图像的旋转以及涉及到的插值算法。MATLAB是一款强大的数学计算软件,它提供了丰富的...

    TRotateimage rotateimage可旋转角度的图片控件 for Delphi

    很多新手无法安装这个控件, 因为原始控件不带package包,缺少加载文件。这个带了,里边缺少的文件补齐了。 install时如果出现 dsgnintf.dcu或DesignIde.dcu 找不到 或 DockForm.dcu 找不到 ... ...

    rotateimage:JS实现图片“旋转木马”幻灯片效果

    4. **图片旋转逻辑**:在`rotateImage`函数中,我们需要根据当前显示的图片索引和切换方向来计算新的图片位置。这里可以使用模运算(`%`)来处理循环遍历的情况。 ```javascript function rotateImage(direction) {...

    C#图像任意角度旋转

    PointF center = new PointF(originalImage.Width / 2f, originalImage.Height / 2f); float angleInRadians = (float)(angleInDegrees * Math.PI / 180); ``` 4. **创建旋转矩阵**:使用Graphics对象的...

    Delphi 图像自由旋转控件 RotateImg

    在Delphi编程环境中,开发图形用户界面(GUI)时,有时需要实现图像处理功能,比如图像的自由旋转。"RotateImg"控件就是一个专门用于此目的的组件,它允许开发者在应用程序中轻松地实现图像的旋转操作。...

    rotateimage:这是如何在原生 android 项目中评级图像的示例

    你可以在提供的`rotateimage-master`压缩包文件中找到更完整的示例代码,学习如何在Android应用中优雅地实现图像旋转功能。 总之,Android提供了丰富的工具和API来处理图像,包括旋转。通过理解和熟练使用Bitmap、...

    react-native-image-rotate

    native-image-rotate 用法程序包仅公开一个类,其中包含一个具有以下签名的方法: static rotateImage ( uri : string , angle : number , success : ( uri : string ) =&gt; void , failure : ( error : Object ) =&gt; ...

    关于旋转图片会丢失四角的解决办法

    在使用`rotate_image`或其他旋转函数时,我们需要注意几个关键参数: 1. **旋转角度**:指定图片旋转的角度,确保输入的是相对于水平轴的顺时针或逆时针角度。 2. **填充方式**:当旋转可能导致图片超出原边界时,...

    Rotate.rar_it_rotate

    Rotate image without degrading it

    Image-Rotate.rar_image rotate_matlab 旋转_matlab的rotate_rotate_图像

    rotatedImage = rotate(originalImage, angle, 'Center', center, 'Crop', cropFlag); ``` 其中: - `originalImage`:是要旋转的原始图像。 - `angle`:表示旋转的角度,以度为单位。 - `'Center'`:旋转的中心点...

    imagetool图像旋转

    cv::Mat rotateImage(const cv::Mat& src, double angle) { // 获取图像的中心点 cv::Point2f center((src.cols - 1) / 2.0f, (src.rows - 1) / 2.0f); // 创建旋转矩阵 cv::Mat rot_mat = getRotationMatrix...

    图片旋转JS网页特效

    上述代码中的`rotateImage`函数接受一个参数`degree`,表示旋转的角度。调用该函数并传入不同的角度值即可实现图片的旋转。 4. **添加事件监听器**:为了使图片在用户交互时自动旋转,可以添加事件监听器,例如鼠标...

    css实现图片旋转效果

    @keyframes rotateImage1 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg * 3); } /* 3圈 */ } @keyframes rotateImage2 { 0% { transform: rotate(0deg); } 100% { transform: rotate...

    ImageHelper_image_图片处理_

    在这个文件中,我们可以期待看到如LoadImage、ResizeImage、RotateImage、AddWatermark等方法,每个方法都封装了一种特定的图片处理操作。通过阅读和学习这个文件,开发者可以更方便地在自己的Winform应用中集成图片...

    jquery 图片360度旋转

    这段代码定义了一个名为`rotateImage`的函数,它不断更新图片的旋转角度,并通过setTimeout实现周期性调用。根据需要,你可以调整动画的速度(setTimeout的第二个参数)以及旋转的平滑程度(CSS的transition属性)。...

Global site tag (gtag.js) - Google Analytics