当前位置: 首页 > news >正文

Java | Leetcode Java题解之第519题随机翻转矩阵

题目:

题解:

class Solution {Map<Integer, Integer> map = new HashMap<>();int m, n, total;Random rand = new Random();public Solution(int m, int n) {this.m = m;this.n = n;this.total = m * n;}public int[] flip() {int x = rand.nextInt(total);total--;// 查找位置 x 对应的映射int idx = map.getOrDefault(x, x);// 将位置 x 对应的映射设置为位置 total 对应的映射map.put(x, map.getOrDefault(total, total));return new int[]{idx / n, idx % n};}public void reset() {total = m * n;map.clear();}
}

http://www.mrgr.cn/news/61580.html

相关文章:

  • macOS 15 Sequoia dmg格式转用于虚拟机的iso格式教程
  • 核心HTML5/CSS3基础面试题
  • 前端 eslint 配置,以及在git提交之前自动format
  • Vue学习笔记(八)
  • 【银河麒麟高级服务器操作系统·实例分享】裸金属服务器开机失败分析及处理建议
  • API网关的作用--为什么微服务需要一个API网关?
  • 采用STM32CubeMX和HAL库的定时器应用实例
  • 【编程语言】在C++中使用map与unordered_map
  • c语言中结构体传参和实现位段
  • unseping攻防世界
  • 百度二面算法:合法的括号字符串(贪心解法)
  • 【机器学习】环境搭建及Sklearn鸢尾花数据集
  • Python | Leetcode Python题解之第519题随机翻转矩阵
  • Python中的切片是什么,它有什么用处?
  • 25_DNS:域名系统详解
  • C++ | Leetcode C++题解之第519题随机翻转矩阵
  • windows 驱动实例分析系列: NDIS 6.0的Filter 驱动改造(四)
  • Java | Leetcode Java题解之第520题检测大写字母
  • Linux(一)
  • 从0开始搭建一个生产级SpringBoot2.0.X项目(五)使用 validation 验证参数
  • C++核心编程和桌面应用开发 第十七天(set和multiset容器 pair map和multimap容器)
  • Json库和文件操作
  • Cargo 的工作机制
  • 一道巧妙的卡特兰数建模
  • 聊聊解构的那些事
  • 本篇文章来介绍下dockerfile