LeetCode——861. 翻转矩阵后的得分(贪心)
题目描述:
解题思路:
给定一个翻转方案,则它们之间任意交换顺序后,得到的结果保持不变。因此,我们总可以先考虑所有的行翻转,再考虑所有的列翻转。
为了使最大,第一列要先全变成1,然后后面的列,如果0比1多,就变换。
参考代码:
public static int matrixScore(int[][] A) {//更改第一列for (int i = 0; i < A.length; i++) {if(A[i][0]!=1){for (int j = 0; j < A[i].length; j++) {if(A[i][j]==1){A[i][j]=0;}else{A[i][j]=1;}} }}//其他列,如果0比1多,就变换for (int i = 1; i <A[0].length; i++) {int one=0;int zeo=0;for (int j = 0; j <A.length ; j++) {if(A[j][i]==1){one++;}else{zeo++;}}if(zeo>one){for (int j = 0; j < A.length; j++) {if(A[j][i]==1){A[j][i]=0;}else{A[j][i]=1;}}}}return helper(A);}private static int helper(int[][] A){int sum=0;int ans;for (int i = 0; i < A.length; i++) {ans= (int) Math.pow(2,A[i].length-1);for (int j = 0; j < A[i].length; j++) {if(A[i][j]==1){sum+=ans;}ans/=2;}}return sum;}
LeetCode——861. 翻转矩阵后的得分(贪心)相关推荐
- LeetCode 861. 翻转矩阵后的得分(贪心)
1. 题目 有一个二维矩阵 A 其中每个元素的值为 0 或 1 . 移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0. 在做出任意次数的移动后,将 ...
- leetcode 861. 翻转矩阵后的得分(贪心算法)
有一个二维矩阵 A 其中每个元素的值为 0 或 1 . 移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0. 在做出任意次数的移动后,将该矩阵的每一 ...
- leetcode 861. 翻转矩阵后的得分
目录 题目描述: 示例: 解法: 题目描述: 有一个二维矩阵 A 其中每个元素的值为 0 或 1 . 移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 ...
- 将矩阵转为一行_LeetCode 力扣官方题解 | 861. 翻转矩阵后的得分
点击上方蓝字设为星标 下面开始今天的学习- 力扣 861. 翻转矩阵后的得分(点击文末阅读原文查看题目)题目描述有一个二维矩阵 A 其中每个元素的值为 0 或 1 .移动是指选择任一行或列,并转换该 ...
- Leetcode861翻转矩阵后的得分(C++题解):贪心
文章目录 861. 翻转矩阵后的得分 题目大意: 只有值为0或1的二维数组,可以进行每行或者每列的01反转,每行中的0全部变成1,与此同时该行的1全部变成0. 若把每一行看作1个二进制数,求经过翻转后 ...
- Leetcode每日一题:861.score-after-flipping-matrix(反转矩阵后的得分)
思路:二进制一个高位为1比之后所有低位为1所代表的数字都要大,所以首先要确保每一行的第一位为1,然后在这基础上对于每一列,如果零的个数多于1的个数,将这列翻转: static int dec(vect ...
- LeetCode——1937. 扣分后的最大得分(Maximum Number of Points with Cost)[中等]——分析及代码(Java)
LeetCode--1937. 扣分后的最大得分[Maximum Number of Points with Cost][中等]--分析及代码[Java] 一.题目 二.分析及代码 1. 动态规划 ( ...
- java水平翻转矩阵_Java实现 LeetCode 519 随机翻转矩阵
519. 随机翻转矩阵 题中给出一个 n 行 n 列的二维矩阵 (n_rows,n_cols),且所有值被初始化为 0.要求编写一个 flip 函数,均匀随机的将矩阵中的 0 变为 1,并返回该值的位 ...
- Java实现 LeetCode 519 随机翻转矩阵
519. 随机翻转矩阵 题中给出一个 n 行 n 列的二维矩阵 (n_rows,n_cols),且所有值被初始化为 0.要求编写一个 flip 函数,均匀随机的将矩阵中的 0 变为 1,并返回该值的位 ...
最新文章
- abaqus切削为什么没有切屑_基于ABAQUS的高速切削切屑形成过程的有限元模拟
- 天涯对房市预测比较准的是孤独的思想
- Java常用类之【字符串相关类型】
- “停课不停学”,线上填报如何逼疯老师
- java thread_Java(多线程Thread)
- android 工厂模式创建,7、Android设计模式---(创建型设计模式)抽象工厂模式
- 关于用FOMR提交编码的问题
- MySQL GUI图形化界面常用软件推荐
- 微信小程序版本自动更新弹窗提示
- 对DS证据理论的改进如yager、bayes、孙权、murphy的改进处理,及皮尔逊改进处理
- 将mysql数据库批量导出为word三线表格形式
- OKR案例: 回顾/复盘会流程模板
- 中国大学排行榜网站的爬取
- 中国电信无线网服务器,如何使用路由器共享电信天翼无线网络?
- uni-app 实现记住账号密码功能
- excel表格两个表格合并
- HtmlUnit、Jsoup、webmagic基本介绍
- html弹幕代码135,弹幕代码详解
- 小红书koc的投放特点是什么?投放koc有什么优势
- jhat中的OQL(对象查询语言)
热门文章
- java jsch jar_Java工具jsch.jar实现上传下载
- java计算机毕业设计在线学习跟踪系统后台源程序+mysql+系统+lw文档+远程调试
- xamarin android 报错 Could not load assembly 'Xamarin.Android.Support.v7.AppCompat
- poi 导出excel文件,可以彻底解决无法打开Excel文件问题
- 一个运维人员能同时管理100+服务器吗?
- AD中同一网络的铺铜与导线不能连接到一起的解决方法
- Windows自带的记事本中换行(回车)替换符的解决方案——观止
- 计算机科研论文通用模板
- chrome dev 取色_chrome dev工具协议
- 阿里云 SSL证书部署(DigiCert 免费版 SSL)