每日5题Day11 - LeetCode 51 - 55

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前!

第一题:51. N 皇后 - 力扣(LeetCode)

class Solution {public List<List<String>> solveNQueens(int n) {List<List<String>> res = new ArrayList<>();char[][] matrix = new char[n][n];//全部赋值为'.'for(char[] row : matrix){Arrays.fill(row, '.');}traversal(0, n, matrix, res);return res;}private static void traversal(int row, int n, char[][] matrix, List<List<String>> res){//行数到了,可以放入结果了if(row == n){res.add(array2list(matrix));return;}for(int col = 0; col < n; col++){if(isValid(row, col, n, matrix)){matrix[row][col] = 'Q';traversal(row + 1, n, matrix, res);matrix[row][col] = '.';}}}private static List array2list(char[][] matrix){//结果要字符串List<String> path = new ArrayList<>();for(char[] c : matrix){path.add(String.valueOf(c));}return path;}private static boolean isValid(int row, int col, int n, char[][] matrix){//从三个纬度来验证是否符合for(int i = 0; i < row; i++){if(matrix[i][col] == 'Q'){return false;}}for(int i = row - 1, j = col - 1; i >=0 && j >= 0; i--, j--){if(matrix[i][j] == 'Q'){return false;}}for(int i = row - 1, j = col + 1; i >= 0 && j <= n - 1; i--, j++){if(matrix[i][j] == 'Q'){return false;}}return true;}
}

第二题:52. N 皇后 II - 力扣(LeetCode)

class Solution {public int totalNQueens(int n) {//注意使用数组来存储int[] res = new int[1];res[0] = 0;int[][] matrix = new int[n][n];for(int[] c : matrix){Arrays.fill(c, 0);}traversal(0, n, matrix, res);return res[0];}private static void traversal(int row, int n, int[][] matrix, int[] res){if(row == n){res[0]++;return;}for(int col = 0; col < n; col++){if(isValid(row, col, n, matrix)){matrix[row][col] = 1;traversal(row + 1, n, matrix, res);matrix[row][col] = 0;}}}private static boolean isValid(int row, int col, int n, int[][] matrix){//和上一题一样也是三个纬度for(int i = 0; i < n; i++){if(matrix[i][col] == 1){return false;}}for(int i = row - 1, j = col - 1; i >= 0 && j >= 0; i--, j--){if(matrix[i][j] == 1){return false;}}for(int i = row - 1, j = col + 1; i >= 0 && j <= n - 1; i--, j++){if(matrix[i][j] == 1){return false;}}return true;}
}

第三题:53. 最大子数组和 - 力扣(LeetCode)

class Solution {public int maxSubArray(int[] nums) {int n = nums.length;if(n == 1){return nums[0];}//直接使用dp来完成int[] dp = new int[n];dp[0] = nums[0];int maxsum = dp[0];for(int i = 1; i < n; i++){//注意这个状态转移方程dp[i] = Math.max(dp[i - 1] + nums[i], nums[i]);maxsum = Math.max(maxsum, dp[i]);}return maxsum;}
}

第四题:54. 螺旋矩阵 - 力扣(LeetCode)

class Solution {public List<Integer> spiralOrder(int[][] matrix) {//老题目了 四个方向换着来呗int m = matrix.length, n = matrix[0].length;if(m == 0 || n == 0){return new ArrayList<>();}List<Integer> res = new ArrayList<>();int l = 0, r = n - 1, t = 0, b = m - 1, index = 0;while(index < m * n){for(int i = l; i <= r && index < m * n; i++){res.add(matrix[t][i]);index++;}t++;for(int i = t; i <= b && index < m * n; i++){res.add(matrix[i][r]);index++;}r--;for(int i = r; i >= l && index < m * n; i--){res.add(matrix[b][i]);index++;}b--;for(int i = b; i >= t && index < m * n; i--){res.add(matrix[i][l]);index++;}l++;}return res;}
}

 第五题:55. 跳跃游戏 - 力扣(LeetCode)

class Solution {public boolean canJump(int[] nums) {//直接一个贪心过去int max_len = nums[0];for(int i = 0; i < nums.length; i++){if(i <= max_len){max_len = Math.max(max_len, i + nums[i]);}else{break;}}return max_len >= nums.length - 1 ? true : false;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如果查看svn的账号和密码

一、找到svn存放目录&#xff08;本地默认存放SVN用户信息的目录为&#xff1a;C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple&#xff09;每个人的电脑环境不一样&#xff0c;因人而异。 如果找不到直接搜索svn.simple 二、下载密码查看工具 链接: 百…

MySQL——MySQL目录结构

MySQL安装完成后&#xff0c;会在磁盘上生成一个目录&#xff0c;该目录被称为MySQL的安装目录。在MySQL的安装目录中包含了启动文件、配置文件、数据库文件和命令文件等。 下面对 MySQL 的安装目录进行详细讲解 (1)bin 目录 : 用于放置一些可执行文件,如 mysql.exe、mysqld. …

软件设计师基础知识难点总结

软件设计师基础知识难点 I/O设备管理软件一般分为4个层次&#xff0c;如下图所示。 用户进程与设备无关的系统软件设备驱动程序中断处理程序硬件 直接查询控制 分为有无条件传送和程序查询方式&#xff0c;都需要通过CPU执行程序来查询外设的状态&#xff0c;判断外设是否准备好…

C#多维数组不同读取方式的性能差异

背景 近来在优化一个图像显示程序&#xff0c;图像数据存储于一个3维数组data[x,y,z]中&#xff0c;三维数组为一张张图片数据的叠加而来&#xff0c;其中x为图片的张数&#xff0c;y为图片行&#xff0c;Z为图片的列&#xff0c;也就是说这个三维数组存储的为一系列图片的数据…

深度解析 Spring 源码:探秘 CGLIB 代理的奥秘

文章目录 一、CGLIB 代理简介1.1 CGLIB 代理的基本原理和特点1.2 分析 CGLIB 如何通过字节码技术创建代理类 二、深入分析 CglibAopProxy 类的结构2.1 CglibAopProxy 类结构2.2 CglibAopProxy 类源码 三、CGLIB 代理对象的创建过程3.1 配置 Enhancer 生成代理对象3.2 探讨如何通…

PageHelper分页查询时,count()查询记录总数与实际返回的数据数量不一致

目录 场景简介代码判断异常情况排查原因解决 场景简介 1、使用PageHelper进行分页查询 2、最终构建PageInfo对象时&#xff0c;total与实际数据量不符 代码判断 异常情况 排查 通过对比count()查询的SQL与查询记录的SQL&#xff0c;发现是PageHelper分页查询时省去了order b…

Linux系统编程——基础IO与文件描述符(管理已打开的内存文件)

目录 一&#xff0c;文件预备 二&#xff0c;C语言文件操作函数 2.1 默认打开的三个流 2.2 写文件 2.3 读文件 2.4 再次理解当前路径 三&#xff0c;Linux操作文件系统调用 3.1 open()和close() 3.1.1 第一个参数 3.1.2 *第二个参数 3.1.3 第三个参数 3.2 write(…

(2024,基于熵的激活函数动态优化,具有边界条件的最差激活函数,修正正则化 ReLU)寻找更优激活函数

A Method on Searching Better Activation Functions 公众号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 动机 4. 方法论 4.1 问题设定 4.1.1 贝叶斯错误率和信息熵 4.1.2 激活…

host修改

前言 想要修改 hosts 文件&#xff0c;您需要具有对系统文件的适当访问权限&#xff0c;并且知道如何编辑文本文件。hosts 文件是一个用于域名解析的本地文件&#xff0c;它允许您为特定的 IP 地址指定主机名。 以下是在不同操作系统中修改 hosts 文件的步骤&#xff1a; 一、…

香橙派 Kunpeng Pro 上手初体验

香橙派 Kunpeng Pro 上手初体验 目录 香橙派 Kunpeng Pro 上手初体验1.前言2.开箱3.开发板资源介绍硬件规格参数外观规格参数4.系统环境搭建系统镜像烧录ssh连接5.简单测试6.总结 1.前言 我很荣幸能收到了来自CSDN的测评邀请&#xff0c;让我有机会对香橙派最新推出的Kunpeng …

C# 使用Aspose生成和修改文档

Aspose库 C#中的Aspose库是一个强大的文件处理库&#xff0c;可以用于各种文件格式的创建、编辑、转换和操作。该库提供了丰富的功能&#xff0c;包括处理文档、电子表格、幻灯片、PDF、图像等多种文件格式&#xff0c;能够轻松实现文件的读取、写入、格式化、样式设置、数据操…

历时3周圆满结营,Sui Move HackerHouse精彩回顾

Sui 是基于第一原理重新设计和构建而成的 L1 公有链&#xff0c;旨在为创作者和开发者提供能够承载 Web3 中下一个十亿用户的开发平台。Sui 上的应用基于 Move 智能合约语言&#xff0c;并具有横向可扩展性&#xff0c;让开发者能够快速且低成本支持广泛的应用开发。 Move 是用…

Vectorworks 2024 Mac安装包下载Vectorworks 2024安装教程3D建模设计工具

安装 步骤 1&#xff0c;双击下载好的安装包&#xff0c;打开。 2&#xff0c;将G1DXHL.ldf拖到桌面上备用。 3&#xff0c;返回打开的镜像 选择install vectorworks2024 双击打开启动安装程序。电脑就90hi高腰腿疼痛和Y&Aaa9yY 4&#xff0c;输入电脑密码。 5&#xff0…

python onnx 推理yolov10

python onnx 推理yolov10 import onnxruntime as ort import cv2 import numpy as np# Class names for the COCO dataset CLASSES = ["person", "bicycle", "car", "motorcycle", "airplane"

DasViewer V3.3全新升级 | 新增点云数据浏览、点云关联全景照片、3DTiles在线数据浏览...

近日&#xff0c;DasViewer迎来3.3版本更新&#xff0c;新增点云数据浏览展示、点云关联全景照片、3DTiles在线数据浏览等功能&#xff0c;为用户带来多源数据可视化极速浏览全新体验。 一起来先睹为快↓ 新增功能 1&#xff0c;点云数据浏览 在新版本中&#xff0c;DasView…

CentOS Samba配置挂载

目录 安装samba 配置 /home 文件夹权限 配置 /home 文件夹共享 配置防火墙 添加 root 登录用户并创建密码 重启samba服务&#xff0c;关闭selinux 查看samba状态 以/home目录挂载为例&#xff1a; 安装samba sudo yum install samba 配置 /home 文件夹权限 sudo se…

rapidssl泛域名https600元一年

泛域名https证书也可以称之为通配符https证书&#xff0c;指的是可以用一张https证书为多个网站(主域名以及主域名下的所有子域名网站)传输数据加密&#xff0c;并且提供身份认证服务的数字证书产品。RapidSSL旗下的泛域名https证书性价比高&#xff0c;申请速度快&#xff0c;…

自己手写一个线性表List【C风格】

#include <iostream>//线性表、顺序表List#define MAX_SIZE 20 #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0typedef int Status;//返回状态类型 typedef int ElemType;//元素类型//结构体 typedef struct {ElemType data[MAX_SIZE];//数据类型&#x…

Python爬虫项目实战:百度任意图片抓取

大家好&#xff0c;我是南枫&#xff0c;这篇文章我将给大家介绍如何使用Python爬虫来达到想爬哪个明星图片就能爬下来的效果&#xff0c;那我们接下来看看如何实现的吧。 导入Python的requests库和re库。requests库用于发送HTTP请求&#xff0c;而re库用于处理正则表达式。 通…

【EI会议】2024年互联网技术与环境工程国际会议(IACITEE 2024)

【EI会议】2024年互联网技术与环境工程国际会议&#xff08;IACITEE 2024&#xff09; 2024 International Conference on Internet Technology and Environmental Engineering 互联网技术与环境工程国际会议&#xff08;IACITEE 2024&#xff09;将在重庆举行&#xff0c;主…