Day33 | 回溯算法 棋盘问题
代码随想录 | Day33 | 回溯算法:棋盘问题主要学习内容: 1.棋盘问题就和组合问题差不多 2.多维的回溯就和一维的思路想法差不多,只是遍历方式不同 51.N皇后51. N 皇后 - 力扣(LeetCode) 解法思路:遍历思路 如下图所示,我们在树的每一层按照列遍历,因为在上一层的列(比如第4列)放过的,在这一层的前面的列还是有可能放皇后(4之前的第1,2,列),所以我们应该在每一层都从0开始遍历 通过传入的参数i控制该第几行了 合法性判断 如果同一行同一列同一斜线放过的话就不能放了,因为我们通过i控制行,树的每层本身也就只会放一个,所以同一行不用查,只用查同一列和斜线。 1.函数参数和返回值 12vector<vector<string>> res;void backtracking(vector<string> path,int i,int...
linux super键是什么 linux终端的快捷命令汇总
linux super键是什么_linux终端的快捷命令汇总 今天来一篇介绍文哈,关于Linux终端的快捷键的介绍。也是有起因的,最近在移植yocto在服务器,这个时候遇到很多终端命令,因为对于终端快捷键的不熟悉所以有些操作很蹩脚,浪费了很多时间,所以我就整理一份终端命令的快捷键,用完之后觉得真香。所以大家赶紧收藏起来吧。 一:设置快捷键快捷键设置可以打开shell终端“Edit”菜单下的“Keyboard Shortcuts”进行,这里有一些默认的快捷键,当然也可以自定义快捷键,不过默认快捷键已成为一种操作习惯,比较通用,这里主要介绍默认的快捷键。 小提示:与Windows或者Linux下的文件系统相比,shell终端的快捷键一般要和Shift键组合起来使用,比如说复制、粘贴快捷键。 二:普通移动编辑快捷键 ctrl+f 向前移动一个字符 ctrl+b 向后移动一个字符 ctrl+a 移 动 到 当 前 行 首 home 或 者 shift+home ctrl+e 移动到当前行尾end ctrl+l 清屏, 并在屏幕最上面开始一个...
Linux 解决缓存锁问题:无法获得锁 /var/lib/dpkg/lock-frontend
【Linux】解决缓存锁问题:无法获得锁 /var/lib/dpkg/lock-frontend 今天在运行apt-get update更新软件包后,突然发现安装新的软件出现了这个报错:正在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 1855(unattended-upgr)持有。如图。 这个错误通常是由于其他进程正在使用APT包管理器而导致的。在你的情况下,进程1855(unattended-upgr)正在持有APT的锁。这是因为系统正在进行软件更新或升级。在进行这些操作时,APT会锁定相关文件以防止多个进程同时修改它们,以确保系统的稳定性和一致性。 所以一共有以下几种方法: 1.等待一会即可:让进程1855完成其任务并释放APT锁。然后再次尝试安装,就在我写完这篇博客时,我再次安装发现已经没有问题了… 2.杀死进程1855:sudo kill...
vscode在windows和linux如何使用cmake构建项目并make生成可执行文件,两者有什么区别
vscode在windows和linux如何使用cmake构建项目并make生成可执行文件,两者有什么区别windows1.按下crtl+shift+p打开vscode命令行选择Cmake configure,然后会让你选工具包,即出现第二张图 如果没有出现 1.再次按下ctrl+shift+p输入cmake select a kit 2.选择cmake select a kit(图1第三个) 3.选择咱们自己的编译器 笔者的是GCC9.2.0就选第三个了 4.再次按下cmake configure 一般这会就自动执行了cmakelists.txt文件 然后生成了buil文件夹 2.进入build文件夹新建一个终端,在终端中输入 1cd build 3.执行make,生成可执行文件1mingw32-make.exe 笔者用的是mingw的编译套件 如果大家这一步执行不成功很有可能是系统环境变量没有配置好,大家可以去设置里面配置一下mingw的bin目录,把它配置到path中 linux1.cmake .直接输入cmake...
Day32 | 回溯算法:排列问题
代码随想录 | Day32 | 回溯算法:排列问题主要学习内容: 1.复习树枝去重 2.复习树层去重 46.全排列46. 全排列 - 力扣(LeetCode) 解法思路:首先通过前面的学习,我们知道,每层递归函数的for循环是用来形成树形结构这一层的所有结点(比如main里面的递归函数的for循环形成了树形结构的第二层,剩下的结点都是递归得来的) 这道题的全排列,和组合问题最大的区别就是 1.[1,2,3]和[1,3,2]不是一个东西 2.因为[2,1,3]这种结果的存在,使得选了2以后要继续选1,说明每层递归函数的for循环的i都要从0开始而不是index,并且由于选了2了不能重复选择,在下面的函数里面碰到了2要跳过 由此可见,我们还需要一个used来记录我们已经选过的值(这就是树枝去重) 1.函数参数和返回值 12vector<vector<int>> res;void backtracking(vector<int>& nums,vector<int> path,vector<bool>...
VScode 调试教程 tasks.json和launch.json的设置
VScode 调试教程 tasks.json和launch.json的设置(超详细)运行环境: VSCode...
VS code调试时显示Unable to start debugging The value of miDebuggerPath is invalid
VS code调试时显示Unable to start debugging.The value of miDebuggerPath is invalid一、问题现象VS code调试时显示Unable to start debugging.The value of miDebuggerPath is invalid。具体现象如下图: 二、问题原因看到问题首先千万不能怕,由英文提示可知是路径错误,所以打开launch.json去改正地址即可。 三、解决办法按下图将地址格式改正确即可。注意D盘和具有文件间还有个/。
VScode中文注释乱码问题解决
VScode中文注释乱码问题解决VScode默认是用utf-8打开工程代码,C语言里的中文注释如果是Source insight之前gbk编码的注释可能会显示乱码,如何能让代码打开gbk编码的文件也不乱码,设置VScode如下: 方法一:依次打开:文件–首选项–设置 然后搜索“auto guess”勾选项,自动猜测字符集编码方式并解码,然后显示正常:方法二:用VScode打开代码之后,在右下角找到编码方式,如图所示:点击UTF-8,选择第一个:选择GB 2312打开,如下图:重新启动VScode,右下角变为GB2312,显示无乱码。 方法三:安装gbk to utf-8插件:
VS code 配置C/C++环境 配置intellisense
VS code 配置C/C++环境(配置intellisense)1.安装C/C++ for Visual Studio Code点击左边扩展栏图标—>搜索C/C++ -> 安装->Reload: 安装完成之后,打开你的包含c++的文件夹,将会生成一个.vscode文件夹,所有的配置将在这个文件夹中进行配置。 2.配置IntelliSense扩展程序会根据当前系统环境配置基本信息,因此有可能配置不完整,这时需要通过生成c_cpp_properties.json文件来配置缺少的信息: ctrl+shift+P打开Command Palette,运行C/Cpp: Edit configurations...生成c_cpp_properties.json: 12345678910111213141516{ "configurations": [ { "name": "Linux", ...
vscode window安装配置
vscode window安装配置1. 本地软件安装1.1 MinGW 编译套件 GCC官方提供的编译套件不能直接在 windows 上使用,推荐的解决方案是使用 MinGW。 MinGW 提供了一套简单方便的 Windows 下的基于 GCC 程序开发环境,并且 收集了一系列免费的 Windows 使用的头文件和库文件。它整合了 GNU 的工具集,特别是 GNU 程序开发工具,如经典 gcc, g++, make 等。MinGW 是完全免费的自由软件,它在 Windows 平台上模拟了 Linux 下 GCC 的开发环境,为 C++ 的跨平台开发提供了良好基础支持,为了在 Windows 下工作的程序员熟悉 Linux 下的 C++ 工程组织提供了条件。 如果小伙伴本地安装了Qt,并且使用的编译套件也是 MingW,那么就不需要在安装了,配置一下环境变量即可。 Qt环境变量配置 如果本地没有,那就必须老老实实的下载一个了,下载地址如下: MinGW官方下载地址: https://osdn.net/projects/mingw/ 第一步, 运行下载到本地的 MinGW...














