算法,90°旋转二维数组
这是一个经典的数组旋转问题,可以使用Python的切片操作来解决。以下是一个简单的解决方案: ```python def rotate(matrix): n = len(matrix) matrix = matrix[::-1] for i in range(n): matrix[i] = matrix[i][::-1] return matrix ``` 这个函数首先将整个数组反转,然后对每个子数组(即每一行)也进行反转。这样,整个数组就被90度旋转了。 例如,对于输入的二维数组`[[1,2,3],[4,5,6],[7,8,9]]`,函数将返回`[[7,4,1],[8,5,2],[9,6,3]]`。 这个函数的时间复杂度是O(n^2),其中n是数组的大小。这是因为我们需要对每个元素进行操作,而数组的大小是n^2。空间复杂度是O(n),因为我们需要创建一个新的数组来存储旋转后的结果。 [2023-04-29 15:33:18 | AI小红书种草文 | 205点数解答]
相关提问
- [字节豆包] 样例输入: 1 520021910437 99 100 98 zhang san 1 520021910438 99 100 92 zhang san 1 520021910439 90 100 94 li si 1 520021910440 90 100 94 wang wu 2 520021910437 89 100 94 zhang san 3 520021910430 4 520021910437 5 zhang san 6 7 0 样例输出(此处增加了换行以方便解释): 520021910437 zhang san 89 100 94 520021910437 zhang san 89 100 94 520021910438 zhang san 99 100 92 520021910437 zhang san 89 100 94 520021910438 zhang san 99 100 92 520021910439 li si 90 100 94 520021910440 wang wu 90 100 94 520021910438 zhang san 99 100(28点数解答 | 2024-12-12 11:56:59)379
- [字节豆包] 题目描述 某测试会根据考生的分数,划分四个等级,具体规则是: 60 60 分以下:不合格 60 60 分及以上 ~ 80 80 分以下:合格 80 80 分及以上 ~ 90 90 分以下:良好 90 90 分及以上 ~ 100 100 分:优秀 输入格式 一行,一个数 a a 表示某考生的分数。 输出格式 输出对应的等级 input1 复制 59.5 output1 复制 不合格 input2 复制 89.9 output2 复制 良好 数据规模与约定 对于 100 % 100% 的数据, 0 ≤ a ≤ 100 0≤a≤100。(234点数解答 | 2025-08-31 12:55:23)194
- [字节豆包] 题目描述 某测试会根据考生的分数,划分四个等级,具体规则是: 60 60 分以下:不合格 60 60 分及以上 ~ 80 80 分以下:合格 80 80 分及以上 ~ 90 90 分以下:良好 90 90 分及以上 ~ 100 100 分:优秀 输入格式 一行,一个数 a a 表示某考生的分数。 输出格式 输出对应的等级 input1 复制 59.5 output1 复制 不合格 input2 复制 89.9 output2 复制 良好 数据规模与约定 对于 100 % 100% 的数据, 0 ≤ a ≤ 100 0≤a≤100。 语言方向:C++ 系统环境:Windows(259点数解答 | 2025-08-31 12:55:38)141
- [字节豆包] 某测试会根据考生的分数,划分四个等级,具体规则是: 60 60 分以下:不合格 60 60 分及以上 ~ 80 80 分以下:合格 80 80 分及以上 ~ 90 90 分以下:良好 90 90 分及以上 ~ 100 100 分:优秀 输入格式 一行,一个数 a a 表示某考生的分数。 输出格式 输出对应的等级c++(389点数解答 | 2025-12-12 20:47:10)64
- [字节豆包] 用C语言写 :3-2 寻找学习之星 分数 15 2024级评选学习之星一名,要求:(1) 3门课考试总成绩前两位满足条件(排名第一的优先考虑,排名第二的备选);(2) 综合评议得分,超过学习之星的小于全体学生的50%。 若以上两个要求不能同时满足,则无人当选。 注:(1)为了便于处理,假设没有3门课总成绩同分的情况;(2)学号为位数小于9位的任意整数。 输入格式: 第一行输入学生总人数n; 第二行开始每行以格式“学号 3门课考试成绩 综合评议得分”输入n个学生的成绩(共n行)。 输出格式: 有人当选,输出当选学习之星的学生学号,否则,输出“No students meet the requirements!”。 输入样例1: 5 23001 45 60 70 80 23002 99 99 99 79 23003 80 60 60 90 23004 97 90 90 79 23005 97 90 91 80 输出样例1: The student ID of Learning Star is 23005 输入样例2: 5 23001 45 60 70 81 23002 99 99 9(471点数解答 | 2025-12-29 18:37:42)40
- [字节豆包] 题目描述 某测试会根据考生的分数,划分四个等级,具体规则是: 60 60 分以下:不合格 60 60 分及以上 ~ 80 80 分以下:合格 80 80 分及以上 ~ 90 90 分以下:良好 90 90 分及以上 ~ 100 100 分:优秀 输入格式 一行,一个数 𝑎 a 表示某考生的分数。 输出格式 输出对应的等级用C++简答(334点数解答 | 2026-01-06 23:14:17)32
- [字节豆包] c++题目描述 某测试会根据考生的分数,划分四个等级,具体规则是: 60 60 分以下:不合格 60 60 分及以上 ~ 80 80 分以下:合格 80 80 分及以上 ~ 90 90 分以下:良好 90 90 分及以上 ~ 100 100 分:优秀 输入格式 一行,一个数 a a 表示某考生的分数。 输出格式 输出对应的等级(247点数解答 | 2026-01-10 18:04:59)24
- [字节豆包] 随埛生成20埊60-100之间的堝数值塒素的塒组作为成绩输入,根据字典{'优':90,'良':80,'埓':70,'塤':60}分别判断各埊等级对应的成绩数量,输出所有成绩和以字典形式输出各埊等级对应的成绩数量。 输出示例: 成绩: 77 成绩: 65 …… 成绩: 84 {'优': 7, '良': 4, '埓': 5, '塤': 4} 注:提交时,将代码埓该随埛堝数塒组修改为指墊塒组,即scores=(77, 65, 95, 90, 66, 88, 62, 72, 89, 90, 92, 85, 98, 65, 74, 71, 95, 77, 96, 84),才可自动判题。(219点数解答 | 2025-04-09 10:20:32)198
- [字节豆包] 题目描述 小 Y 最近学习了 ASCII 码的相关知识后,了解了以下内容: 小写字母 a ~ z 对应的ASCII码是 97 ~ 122 大写字母 A ~ Z 对应的ASCII码是 65 ~ 90 他想要编程实现一个字母与ASCII码之间转换的程序:如果输入的是字母,程序就会输出该字母对应的ASCII码;如果输入的是字母的ASCII码(只能在 65 ~ 90 或者 97 ~ 122 范围内),则输出该ASCII码对应的字符。请你帮助小 Y 完成一下这个程序吧! 注:输入内容只能是大写字母、小写字母或整数中的一种,并且整数只能在 65 ~ 90 或者 97 ~ 122 范围内。如果输入的是大写字母或者是小写字母,一次只能输入一个字符。 输入 一行,一个字符或整数,表示字母或者字母对应的ASCII码 输出 一行,一个字符或整数,对应输入内容的字母或ASCII码(295点数解答 | 2025-11-02 16:58:48)61
- [阿里通义] 算法,90°旋转二维数组(205点数解答 | 2023-10-31 11:05:29)314
- [字节豆包] #include <random> #include <ctime> using namespace std; #include <opencv2\\opencv.hpp> #include <opencv2\\features2d.hpp> using namespace cv; vector<point2f> pts; // 代码生成的点 const point2f center(200, 200); // 圆心 const float std_r = 100; // 标准半径 // 从 [0, 360) 生成圆周上的点, 都是利用 pt_start 旋转, 再加上一点随机偏移 for (int i = 0; i < 360; i += 8) { default_random_engine e(time(nullptr) + rand()); // 随机 engine uniform_real_distribution<float> u(-8.0f, 8.0f); const float r = std_r + u(e); // 半径 + 误差(29点数解答 | 2024-11-06 23:40:42)238
- 例6-2 字典d={“张三”:88, “李四”:90, “王五”:73, “赵六”:82},写出下列操作代码 (1)向字典中添加键值对“钱七”:90 (2)修改王五对应值为93 (3)删除赵六对应的键值对 (4)len(d)的最终结果是?(168点数解答 | 2024-05-06 10:57:23)570