算法训练营第三十天|332.重新安排行程 51. N皇后 37. 解数独

目录

  • Leetcode332.重新安排行程
  • Leetcode51. N皇后
  • Leetcode37. 解数独

Leetcode332.重新安排行程

文章链接:代码随想录
题目链接:332.重新安排行程

class Solution {
public:unordered_map<string, map<string, int>> targets;bool backtracking(int ticketNum, vector<string>& result){if (result.size() == ticketNum + 1){return true;}for (pair<const string, int>& target : targets[result[result.size() - 1]]){if (target.second > 0){result.push_back(target.first);target.second--;if (backtracking(ticketNum, result)) return true;target.second++;result.pop_back();}}return false;}vector<string> findItinerary(vector<vector<string>>& tickets) {vector<string> result;for (const vector<string>& vec : tickets){targets[vec[0]][vec[1]]++;}result.push_back("JFK");backtracking(tickets.size(), result);return result;}
};

Leetcode51. N皇后

文章链接:代码随想录
思路链接:51. N皇后

class Solution {
public:vector<vector<string>> res;void backtracking(int n, int row, vector<string>& chessboard){if (row == n){res.push_back(chessboard);return ;}for (int col = 0; col < n; col++){if (isValid(col, row, chessboard, n)){chessboard[row][col] = 'Q';backtracking(n, row + 1, chessboard);chessboard[row][col] = '.';}}}bool isValid(int col, int row, vector<string>& chessboard, int n){for (int i = 0; i < row; i++) { if (chessboard[i][col] == 'Q') {return false;}}for (int i = row - 1, j = col - 1; i >= 0 && j >= 0; i--, j--){if (chessboard[i][j] == 'Q') return false;}for (int i = row - 1, j = col + 1; i >= 0 && j < n; i--, j++){if (chessboard[i][j] == 'Q') return false;}return true;}vector<vector<string>> solveNQueens(int n) {vector<string> chessboard(n, string(n, '.'));backtracking(n, 0, chessboard);return res;}
};

Leetcode37. 解数独

文章链接:代码随想录
思路链接:37. 解数独

class Solution {
public:bool backtracking(vector<vector<char>>& board){for (int i = 0; i < board.size(); i++){for (int j = 0; j < board[0].size(); j++){if (board[i][j] == '.'){for (char k = '1'; k <= '9'; k++){if (isValid(i, j, k, board)){board[i][j] = k;if (backtracking(board)) return true;board[i][j] = '.';}}return false;}}   }return true;}bool isValid(int row, int col, char val, vector<vector<char>>& board){for (int i = 0; i < board.size(); i++){if (board[i][col] == val) return false;}for (int j = 0; j < board[0].size(); j++){if (board[row][j] == val) return false;}int startRow = (row / 3) * 3;int startCol = (col / 3) * 3;for (int i = startRow; i < startRow + 3; i++){for (int j = startCol; j < startCol + 3; j++){if (board[i][j] == val) return false;}}return true;}void solveSudoku(vector<vector<char>>& board) {backtracking(board);}
};

2023.12.28
今天作项目解题PPT太忙没空做,先站个位

2023.12.29
今天忙着为明天拍摄实验做调试准备,按着昨天看解析文章的理解,今天又大致看了一遍敲出来了三道题,今天的题没刷。
这几天太忙没时间刷题学和计算机基础,今天也没健身,明天实验估计又没时间,跨年前估计不会学出太多了;不过还好前一个无关的项目今天结题了,明天是做课题相关实验,也不算浪费时间,一切还是向着好的方向发展,丢掉焦虑,停止内耗,踏实做自己能做的事就好。
希望明天实验顺利,跨年那天上午练个肩,下午回家,顺便发个跨年健身的朋友圈(文案想了十几天还没想好哈哈哈,不过图片选好了就一张),然后把今明两天的题补上。明后天有时间就再看点操作系统,加油!!!

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

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

相关文章

部署清华ChatGLM-6B(Linux版)

引言 前段时间,清华公布了中英双语对话模型 ChatGLM-6B,具有60亿的参数,初具问答和对话功能。最!最!最重要的是它能够支持私有化部署,大部分实验室的服务器基本上都能跑起来。因为条件特殊,实验室网络不通,那么如何进行离线部署呢? 「部署环境」:CUDA Version 11.0,…

Maven简介及环境搭建和基本使用(Java开发中的实用工具)

一、概述 Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它 用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、 测试、打包和发布等工作。 Maven的相关概念 pom.xml文件&#xff1a;里面可以配置相关信息&#xff0c;指导ma…

【SpringBoot开发】之商城项目案例(沙箱支付)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《SpringBoot开发之商城项目系列》。&#x1f3af…

MySQL数据库索引优化实战

目录 一、前言 二、准备工作 2.1 用户表&#xff08;TB_USER) 2.2 商品表&#xff08;TB_SKU) 2.3 订单表&#xff08;TB_ORDER&#xff09; 三、实例分析 3.1 索引提升查询性能 3.2 多表查询 3.3 索引失效 四、总结 一、前言 在数据库的应用中&#xff0c;性能优化…

Java单词排序

【问题描述】 编写一个程序&#xff0c;从一个文件中读入单词&#xff08;即&#xff1a;以空格分隔的字符串&#xff09;&#xff0c;并对单词进行排序&#xff0c;删除重复出现的单词&#xff0c;然后将结果输出到另一个文件中。 【输入形式】从一个文件sort.in中读入单词。 …

类加载机制之双亲委派模型、作用、源码、SPI打破双亲委派模型

双亲委派模型 双亲委派工作机制双亲委派的作用双亲委派的实现源码SPI打破双亲委派 应用程序是由三种类加载器相互配合&#xff0c;从而实现类加载&#xff0c;除此之外还可以加入自己定义的类的加载器。 类加载器之间的层次关系&#xff0c;称为双亲委派模型&#xff08;Parent…

2024最全面且有知识深度的web3开发工具、web3学习项目资源平台

在Web3技术迅速发展的时代&#xff0c;寻找一个综合且深入的Web3开发工具和学习项目资源平台变得至关重要。今天&#xff0c;我将向大家介绍一个非常有价值的网站&#xff0c;它就是https://web3x.world 。 Web3X是一个全面而深入的Web3开发者社区&#xff0c;为开发者们提供了…

【深度学习】各领域常用的损失函数汇总(2024最新版)

目录 1、L1 损失、平均绝对误差&#xff08;L1 Loss、Mean Absolute Error&#xff0c;MAE&#xff09; 2、L2 损失、均方误差&#xff08;L2 Loss、Mean Squared Error&#xff0c;MSE&#xff09; 3、交叉熵损失&#xff08;Cross-Entropy Loss&#xff09; 4、混合损失&…

webpack的深入学习与实战(持续更新)

一、何为Webpack Webpack是 一个开源的JavaScript模块打包工具&#xff0c;其最核心的功能是解决模块之间的依赖&#xff0c;把各个模块按照特定的规则和顺序组织在一起&#xff0c;最终合并为一个JS文件或多个。 二、带宽的换算 目前我们的云服务器带宽为5M 三 、bundle 体…

【算法挨揍日记】day34——647. 回文子串、5. 最长回文子串

647. 回文子串 647. 回文子串 题目描述&#xff1a; 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串&am…

202365读书笔记|《温暖和百感交集的旅程》——时间帮助着一个人的一生在几千字的篇幅里栩栩如生

202365读书笔记|《温暖和百感交集的旅程》——时间帮助着一个人的一生在几千字的篇幅里栩栩如生 我能否相信自己温暖和百感交集的旅程前言和后记 《温暖和百感交集的旅程》作者余华&#xff0c;之前读完的一本书&#xff0c;已经不太记得内容了&#xff0c;看着笔记整理的这篇书…

用数据结构python写大数计算器

下面是一个基于Python的大数计算器的示例代码&#xff1a; class BigNumberCalculator:def __init__(self, num1, num2):self.num1 num1self.num2 num2staticmethoddef add(num1, num2):result carry 0len1, len2 len(num1), len(num2)max_len max(len1, len2)for i in …

【进程间通信】

什么是进程通信 进程通信&#xff08; InterProcess Communication&#xff0c;IPC&#xff09;就是指进程之间的信息的传播和交换。 进程是分配系统资源的单位&#xff0c;包括内存地址空间&#xff0c;为了保证安全&#xff0c;一个进程不能直接访问另一个进程的地址空间&a…

KLR技术支持工程师笔试题(包含Linux、计网知识)

文章目录 前言一、选择题总结 前言 深圳市KLRKJYXGS技术支持工程师笔试题博主回忆版&#xff0c;仅供大家学习。 一、选择题 1、Linux 系统中 DNS 服务进程名为&#xff08; &#xff09; A. named B. httpd C. ftpd D. SysLog 【答案】A 【解析】 2、在 UINX/Linux 中&#…

PO模式。

对项目进行梳理和总结 1.整个项目中的文件解析 2.每个文件包和模块具体的使用规范 3.整个项目中的模块与文件之间的联系 4.各个模块及包之间的导入使用 5.整体从项目完成之后的角度出发去将军项目搭建流程以及使用规范 搭建app自动化测试环境 安卓的sdk java的sdk 安装app…

instant ngp win11 安装笔记

目录 训练保姆级教程: instant ngp安装参考&#xff1a; 编译步骤1 编译步骤2 我把编译成功的库分享到百度网盘了 训练保姆级教程: 英伟达NeRF项目Instant-ngp在Windows下的部署&#xff0c;以及数据集的制作&#xff08;适合小白的保姆级教学&#xff09;_colmap2nerf.p…

2023我的 python 编程之旅:从入门到熟练我用了5年,从构思到发文只用了3个月!

我与python的初次相见 一切都是大数据做主。当时我记得很清楚&#xff0c;是19年初&#xff0c;正值准备大学毕业和研究生入学前的一段空闲期。那个时候总会有各种形式的编程语言广告进入我的视野&#xff0c;勾起了被C语言伤害的痛苦和不甘。正好有时间和精力&#xff0c;再加…

CMake入门教程【核心篇】属性管理set_property和get_property

&#x1f608;「CSDN主页」&#xff1a;传送门 &#x1f608;「Bilibil首页」&#xff1a;传送门 &#x1f608;「本文的内容」&#xff1a;CMake入门教程 &#x1f608;「动动你的小手」&#xff1a;点赞&#x1f44d;收藏⭐️评论&#x1f4dd; 文章目录 1.概述2.设置属性 - …

FPGA设计时序约束十五、Set_Bus_Skew

目录 一、序言 二、Set Bus Skew 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 报告分析 三、工程示例 3.1 工程代码 3.2 时序报告 四、参考资料 一、序言 在时序约束中&#xff0c;对时钟的约束除了set clock latency,set clock uncertainty,set input jitter外&…

merge发生冲突时 ☞ 撤销merge

场景&#xff1a;merge发生冲突时☞撤销merge 1. git checkout dev 2. git pull origin release 3. 发生冲突git merge --abort git reset --hard HEAD git reset --hard 8ec554Further Reading &#xff1a;Git常用命令汇总