566. 重塑矩阵

var matrixReshape = function(mat, r, c) {
if (mat.length * mat[0].length != r * c) {
return mat;
}
var newArr = mat.flat(Infinity);
var result = [];
var k = 0;
for (var i = 0; i < newArr.length; i++) {
if (!result[k]) {
result[k] = [];
}
result[k].push(newArr[i]);
if ((i + 1) % c == 0) {
k++;
}
}
return result;
};

766. 托普利茨矩阵

var isToeplitzMatrix = function(matrix) {
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[0].length; j++) {
if (
matrix[i + 1] &&
matrix[i + 1][j + 1] != undefined &&
matrix[i][j] != matrix[i + 1][j + 1]
) {
return false;
}
}
}
return true;
}

832. 翻转图像

var flipAndInvertImage = function(image) {
var result = [];
for (let i = 0; i < image.length; i++) {
for (let j = image[0].length - 1; j >= 0; j--) {
let tmp = 1 - image[i][j];
if (!result[i]) {
result[i] = [];
}
result[i].push(tmp);
}
}
return result;
};

867. 转置矩阵

var transpose = function(A) {
// return A[0].map((v,i) =>A.map((a,j) =>a[i]))
var res = [];
for (var i = 0; i < matrix.length; i++) {
for (var j = 0; j < matrix[0].length; j++) {
if (!res[j]) {
res[j] = [];
}
res[j][i] = matrix[i][j];
}
}
console.log(res);
return res;
};

999. 可以被一步捕获的棋子数

var numRookCaptures = function(board) {
let x, y; // 车的坐标
let captureAmount = 0; // 捕获量
loop: for (let i = 0; i < 8; i++) {
for (let j = 0; j < 8; j++) {
if (board[i][j] == "R") {
x = i;
y = j;
break loop;
}
}
}
// 车在X轴上 位移距离 上右下左顺序
const dx = [0, 1, 0, -1];
// 车在Y轴上 位移距离 上右下左顺序
const dy = [1, 0, -1, 0]; // 外层循环, 4表示4个方向
for (let i = 0; i < 4; i++) {
for (let j = 1;; j++) {
const moveX = x + j * dx[i];
const moveY = y + j * dy[i];
// 判断棋盘边界 且 不可以碰到象
if ( moveX < 0 || moveX >= 8 || moveY < 0 || moveY >= 8 || board[moveX][moveY] == "B") {
break;
}
if (board[moveX][moveY] == "p") {
captureAmount++;
break; // 捕获到卒后,该方向停止前进
}
}
}
return captureAmount;
};

1030. 距离顺序排列矩阵单元格

var allCellsDistOrder = function(rows, cols, rCenter, cCenter) {
let x = rCenter;
let y = cCenter;
let { abs } = Math;
let res = [];
for (let i = 0; i < rows; i++) {
for (let j = 0; j < cols; j++) {
res.push([i, j]);
}
}
return res.sort(
(a, b) => abs(a[0] - x) + abs(a[1] - y) - (abs(b[0] - x) + abs(b[1] - y))
);
};

1260. 二维网格迁移

var shiftGrid = function(grid, k) {
while (k--) {
for (let i = grid.length - 1; i >= 0; i--) {
grid[(i + 1) % grid.length].unshift(grid[i].pop());
}
}
return grid;
};

1275. 找出井字棋的获胜者

var tictactoe = function(moves) {
const chess = new Array(3).fill(0).map(() => new Array(3).fill(0));
moves.forEach((item, index) => {
let [x, y] = item;
chess[x][y] = index % 2 ? "B" : "A";
});
for (let i = 0; i < 3; i++) {
let [a, b, c] = chess[i]
if (a && a == b && b == c) return a
} for (let j = 0; j < 3; j++) {
let [a, b, c] = [chess[0][j], chess[1][j], chess[2][j]]
if (a && a == b && b == c) return a
} let [a, b, c] = [chess[0][0], chess[1][1], chess[2][2]]
if (a && a == b && b == c) return a
let [j, q, k] = [chess[2][0], chess[1][1], chess[0][2]]
if (j && j == q && q == k) return j
if (moves.length < 9) return 'Pending'
return 'Draw'
};

1337. 矩阵中战斗力最弱的 K 行

var kWeakestRows = function(mat, k) {
let result = []
for (let i = 0; i < mat.length; i++) {
let soldier = mat[i].filter(item => item == 1).length
result.push([i, soldier])
}
return result.sort((a, b) => a[1] - b[1]).splice(0, k).map(item => item[0])
};

1351. 统计有序矩阵中的负数

var countNegatives = function(grid) {
return grid.flat(Infinity).filter(item => item < 0).length
};

leetcode简单(矩阵):[566, 766, 832, 867, 999, 1030, 1261, 1275, 1337, 1351]的更多相关文章

  1. LeetCode:矩阵置零【73】

    LeetCode:矩阵置零[73] 题目描述 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [   [1,1,1],   ...

  2. 这样leetcode简单题都更完了

    这样leetcode简单题都更完了,作为水题王的我开始要更新leetcode中等题和难题了,有些挖了很久的坑也将在在这个阶段一一揭晓,接下来的算法性更强,我就要开始分专题更新题目,而不是再以我的A题顺 ...

  3. HDU 1575 Tr A( 简单矩阵快速幂 )

    链接:传送门 思路:简单矩阵快速幂,算完 A^k 后再求一遍主对角线上的和取个模 /********************************************************** ...

  4. leetcode简单题6

    今天的华师 Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, fro ...

  5. leetcode 48 矩阵旋转可以这么简单

    一行代码解决矩阵旋转(方法三). 方法1: 坐标法 def rotate(self, matrix): n = len(matrix) # 求出矩阵长度 m = (n + 1) // 2 # 求出层数 ...

  6. leetcode.矩阵.566重塑矩阵-Java

    1. 具体题目 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数.重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充.如果具有给定参数的reshape操 ...

  7. Java实现 LeetCode 73 矩阵置零

    73. 矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ...

  8. LeetCode翻转矩阵后的得分-Python3<六>

    上一篇:LeetCode子域名访问计数-Python3.7<五> 题目:https://leetcode-cn.com/problems/score-after-flipping-matr ...

  9. leetcode 73 矩阵置零 Python

    矩阵置零     给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [   [1,1,1],   [1,0,1],   [1 ...

  10. UVA10870—Recurrences(简单矩阵快速幂)

    题目链接:https://vjudge.net/problem/UVA-10870 题目意思: 给出a1,a2,a3,a4,a5………………ad,然后算下面这个递推式子,简单的矩阵快速幂,裸题,但是第 ...

随机推荐

  1. NFS共享文件

    NFS共享文件 服务端 安装NFS [root@localhost www] yum -y install nfs-utils rpcbind 创建需要共享的文件夹share [root@localh ...

  2. containerd 源码分析:启动注册流程

    0. 前言 containerd 是一个行业标准的容器运行时,其强调简单性.健壮性和可移植性.本文将从 containerd 的代码结构入手,查看 containerd 的启动注册流程. 1. 启动注 ...

  3. 大数据之Hadoop集群的HDFS压力测试

    测试HDFS写性能 原文:sw-code 1)写测试的原理 2)测试内容:向HDFS集群写10个128MB的文件(3个机器每个4核,2 * 4 = 8 < 10 < 3 * 4 =12) ...

  4. ShardingJDBC使用不当引发的线上事故

    本文讲述一个由 ShardingJDBC 使用不当引起的悲惨故事. 一. 问题重现 有一天运营反馈我们部分订单状态和第三方订单状态无法同步. 根据现象找到了不能同步订单状态是因为 order 表的 t ...

  5. MahApps.Metro的MVVM模式解析(二) 主题功能

    MahApps.Metro的MVVM模式解析(二) 主题功能 MahApps.Metro是一个开源的WPF框架,旨在为WPF应用程序提供现代和漂亮的用户界面. 在MahApps.Metro中提供了切换 ...

  6. Django——form组件的全局钩子

    前面提到过的都是针对单个字段的校验,如果想同时对多个字段进行校验,就可以使用全局钩子(编写全局钩子预留的clean方法,可以获取到多个字段并进行校验) 注意: ---- 默认的校验.自定义正则规则的校 ...

  7. UILabel的DrawDrect方法

    一.问题 如果继承UILabel实现自己的一个Label,并且在子类的DrawRect方法中留空,什么都不写,会发生什么? 代码如下: VC @interface ViewController () ...

  8. The solution of ABC144F

    都不知道什么时候做的题了 problem & blog 一开始很容易想到枚举断边然后 DP 算代价. 于是很容易想到 DP 状态定义:设 \(dp_u\) 为从 \(u\) 出发到 \(n\) ...

  9. 项目管理--PMBOK 读书笔记(12)【项目采购管理】

      1.采购计划三要素 1)采购管理计划:预审合格的卖方,供方选择标准: 2)采购 SOW:采购工作说明书应详细描述拟采购的产品.服务或成果: 3)采购文件   2.合同类型 1)总价合同:范围清楚, ...

  10. Json字符串转换处理html编码格式,= \u003d 处理

    Json字符串转换处理html编码格式,=  \u003d 处理 import com.alibaba.fastjson.annotation.JSONField; import com.faster ...