leetcode2397. 被列覆盖的最多行数 回溯法/枝剪

第一次手搓一个回溯法,超时后采用枝剪勉强通过
class Solution {
int max=0;
int numSelect;
public int maximumRows(int[][] matrix, int numSelect) {
Set<String>stateSet=new HashSet<>();
dfs(matrix,new boolean[matrix[0].length],0,numSelect,stateSet);
return max;
}
public void dfs(int[][]matrix,boolean[]selected,int step,int numSelect,Set<String>stateSet){
String currentState = Arrays.toString(selected);
if (stateSet.contains(currentState))
return;
else
stateSet.add(currentState);
if(step==numSelect){
int cnt=0;
for(int i=0;i<matrix.length;i++){
boolean flag=true;
for(int j=0;j<matrix[0].length;j++){
if(matrix[i][j]!=0&&!selected[j]){
flag=false;
break;
}
}
if(flag)
cnt++;
}
max=Math.max(max,cnt);
return;
}
for(int i=0;i<selected.length;i++){
if(!selected[i]){
selected[i]=true;
dfs(matrix,selected,step+1,numSelect,stateSet);
selected[i]=false;
}
}
}
}
leetcode2397. 被列覆盖的最多行数 回溯法/枝剪的更多相关文章
- 第七届蓝桥杯试题c/c++A组方格填数 回溯法
方格填数如下的10个格子 +--+--+--+ | | | |+--+--+--+--+| | | | |+--+--+--+--+| | | |+--+--+--+(如果 ...
- excel运行最多行数
2003及以前版本为65536(即6万多)行,256列2007版:1048576(即1百零多万)行,16384(即1千多)列
- Oracle 行转列(不固定行数的行转列,动态)(转)
http://bbs.csdn.net/topics/330039676 SQLSERVER :行列转换例子: http://www.cnblogs.com/gaizai/p/3753296.htm ...
- Java获得数据库查询结果的列数和行数,打印查询结果
Java连接数据库及简单操作见我以前的一篇随笔:http://www.cnblogs.com/meitian/p/5036332.html 一.获取查询结果的行数和列数 查询结果为ResultSe ...
- 【所见即所得】textarea 精确限制字数、行数,中、英、全半角混检 。源码带注释
主要解决难点: 1 中文 全角2字符深深的恶意 2 多行输入textarea 手动,自动换行问题 3 获得每行内容 原创,转载请注明出处! <!DOCTYPE html PUBLIC " ...
- jquery获取table的行数、列数
$("#grd").find("tr").length; //行数 $("#grd").find("tr").find( ...
- 如何获取ResultSet的行数和列数
当我们执行数据库查询返回一个ResultSet的时候,很多情况下我们需要知道这个ResultSet的大小,即它的行数和列数.我们知道它的列数可以通过resultSet.getMetaData().ge ...
- StringGrid 实例2:1、获取 StringGrid 的行数、列数; 2、给单元赋值.
实例2: 本例功能: 1.获取 StringGrid 的行数.列数; 2.给单元赋值. 运行效果图:
- POI中getLastRowNum() 和getLastCellNum()的区别 hssfSheet.getLastRowNum();//最后一行行标,比行数小1 hssfSheet.getRow(k).getLastCellNum();//获取列数,比最后一列列标大1
hssfSheet.getLastRowNum();//最后一行行标,比行数小1 hssfSheet.getRow(k).getLastCellNum();//获取列数,比最后一列列标大1
- MFC LIST 获取行数和列数
DWORD dwStyle = dataListControl.GetExtendedStyle(); dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与 ...
随机推荐
- 7.19考试总结(NOIP模拟20)[玩具·y·z]
与其被自己的本性牵着走而痛苦,倒不如试着改变自己. 前言 首先自我检讨一下,T1的部分分是原题,但是我这个 FW 居然没有看出来..(主要是我看错题了) 论语文素养如何限制 OI 水平 别人眼里是一棵 ...
- Redisson 限流器源码分析
Redisson 限流器源码分析 对上篇文章网友评论给出问题进行解答:redis 的key 是否会过期 可以先阅读上篇文章: redis + AOP + 自定义注解实现接口限流 - 古渡蓝按 - 博客 ...
- php简单登录
<?php // 1,php接收参数 $userName = $_POST['userName']; $userPwd = $_POST['userPwd']; // 2,PHP需要操作数据库 ...
- 剑指Offer-49.把字符串转换成整数(C++/Java)
题目: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的 ...
- JavaScript防抖与节流笔记
JavaScript防抖与节流 概念 防抖(debounce)与节流(throttle)是两个相似但有本质区别的两个概念,但两个概念的存在都是为了控制在特定条件下函数最大的执行次数.这在例如将函数执行 ...
- 启动 bert-as-service
S1:启动bert-as-service时,执行命令 bert-serving-start -model_dir /downloads/uncased_L-12_H-768_A-12/ -num_wo ...
- 阿里云ecs自定义镜像并导出到OSS、并下载
OSS是什么? 有个文章说得比较浅显清楚:什么是OSS?5分钟带你了解! - 知乎 (zhihu.com) 这里摘选核心内容: 白话文解释就是将系统所要用的文件上传到云硬盘上,该云硬盘提供了文件下载. ...
- ServiceMesh、SideCar和Istio
Service Mesh简介 Service Mesh直译过来就是服务网格,而他的架构就是一个个微服务组成的网络. Sidecar简介 Service Mesh中的节点就是Sidecar节点. sid ...
- 02-CentOS7基础
基础知识介绍 shell shell俗称壳,它包裹在内核的外面,是用户命令的翻译官. 作用:接收用户的命令,翻译后(处理一下)交给Linux内核处理. 命令 -> shell -> 内核 ...
- Nuxt3 的生命周期和钩子函数(一)
title: Nuxt3 的生命周期和钩子函数(一) date: 2024/6/25 updated: 2024/6/25 author: cmdragon excerpt: 摘要:本文是关于Nuxt ...