无标题
题目:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 示例 2:输入:height = [4,2,0,3,2,5]输出:9 提示: n == height.length 1 <= n <= 2 * 104 0 <= height[i] <= 105 解法一:暴力逐个计算每一列能存下的水量。 遍历整个数组。针对数组中的每个元素arr[i],都分别向左、向右遍历一遍数组,找到arr[i]左侧和右侧的最大值,计为leftMax和rightMax,如果leftMax <= arr[i]或者rightMax <= arr[i],说明当前这一列存不出水。否则当前列能存储的水量为min(leftMax, rightMax) -...
将本地项目上传到 GitHub 仓库的步骤
首次上传新项目到 GitHub如果你有一个全新的本地项目,还没有任何 Git 初始化或关联,可以按照以下步骤操作: 在本地项目文件夹中初始化 Git 仓库: 打开项目文件夹,右键点击空白处,选择“Git Bash Here”或者打开终端/命令提示符,导航到项目目录。然后运行: git init 这会在项目文件夹中创建一个名为 .git 的隐藏文件夹,表示本地仓库已初始化。 将项目文件添加到暂存区: 接下来,需要告诉 Git 哪些文件需要被追踪并提交。 git add . git add . 会将当前目录下所有文件(包括子文件夹中的文件)添加到暂存区。如果只想添加特定文件,可以将 . 替换为文件名或文件夹名。 提交到本地仓库: 现在,将暂存区的文件提交到本地 Git 仓库,并附上一条有意义的提交信息。 git commit -m "Initial commit of my project" 将 "Initial commit of my project" 替换为你自己的提交信息。 在 GitHub 上创建新的远程仓库: 登录 GitHub...
IDEA数据库连接报错“文件名或扩展名太长”
问题在IDEA中连接MYSQL数据库时报错如下DBMS: MySQL (no ver.)Case sensitivity: plain=mixed, delimited=exactCannot run program "D:\IDEA\IntelliJ IDEA 2023.1.2\jbr\bin\java" (in directory "D:\college\javaWebStudy\hello-mp"): CreateProcess error=206, 文件名或扩展名太长。 解决方法卸载当前IDEA版本,更换新的IDEA版本。本人:2023.1.2 ->2024.3.6 曾尝试过的无用方法:1.更换项目位置将项目放在D盘下,没用 2.更改IDEA位置卸载IDEA,更改IDEA的安装路径,使路径变短,没用。 3.配置 IntelliJ IDEA 的“Shorten command line”选项没用4.配置 IntelliJ IDEA 使用短 Classpath到 Runner 选项卡,勾选 Delegate IDE build/run actions to...
Maven安装依赖缓慢
步骤一.更改settings.xml文件找到maven安装路径下的settings.xml文件,一般位于conf\setting.xml。更改镜像配置如下:<mirrors> <mirror> <id>aliyun</id> <mirrorOf>central</mirrorOf> <name>aliyun Maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> <mirror> <id>uk</id> <mirrorOf>central</mirrorOf> <name>Human...
GitHub实现个人网站
1.创建仓库仓库名字必须是 <你的用户名>.github.ioDescription可以不写选择public 2.本地创建文件夹文件夹内容如下,再让chatgpt随便写的内容用于测试my-website/ ← 项目主文件夹├── index.html ← 首页(主 HTML 文件)├── about.html ← 其他页面(可选)├── contact.html ← 其他页面(可选)├── css/ ← 所有样式文件│ └── style.css ← 主样式表├── js/ ← 所有 JavaScript 文件│ └── script.js ← 主脚本文件├── images/ ← 图片资源│ ├── logo.png│ └── banner.jpg├── fonts/ ← 字体资源(可选)│ └── custom-font.woff├──...
配置多个 GitHub 账号(SSH)
假设一个名字为aaa,一个名字为bbb 1.为每个账号生成不同的 SSH 密钥# 为账号 aaassh-keygen -t ed25519 -C "aaa@example.com" -f ~/.ssh/id_ed25519_aaa# 为账号 bbbssh-keygen -t ed25519 -C "bbb@example.com" -f ~/.ssh/id_ed25519_bbb 2.将公钥添加到对应 GitHub 账户进行下述操作,得到.pub 文件内容cat ~/.ssh/id_ed25519_aaa.pubcat ~/.ssh/id_ed25519_bbb.pub进入各自的 GitHub 账号页面: 打开 GitHub → Settings → SSH and GPG keys → New SSH key 把你生成的 .pub 文件内容粘贴进去 3.配置 SSH 配置文件 ~/.ssh/config打开 SSH 配置文件:notepad ~/.ssh/config 写入以下内容(每个账户一个 Host):# aaa 账号配置Host github-aaa ...
LeetCode买卖股票专题C++
LeetCode 121买卖股票的最佳时机题目给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 1:输入: prices = [7,1,5,3,6,4]输出: 5解释: 在第 2 天买入(价格=1),在第 5 天卖出(价格=6),利润 = 6-1 = 5。 注意不能在第 1 天买入然后第 2 天卖出。 示例 2:输入: prices = [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成,最大利润为 0。 提示: 1 <= prices.length <= 105 0 <= prices[i] <=...
问题解决-VScode代码复制到别处每行有间隔
问题将vscode的代码复制到有些地方,两行之间会空一行 <h2>Background Position 示例</h2> <div class="box position-center">center center</div> <div class="box position-left-top">left top</div> <div class="box position-right-bottom">right bottom</div> <div class="box position-right-top">right top</div> 解决:在粘贴的时候使用ctrl+shift+v会粘贴为纯文本,能防止目标软件加上段落格式和空行。
LeetCode189轮转数组C++
题目给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]示例 2:输入: nums = [-1,-100,3,99], k = 2输出: [3,99,-1,-100] 提示: 1 <= nums.length <= 105 -231 <= nums[i] <= 231 - 1 0 <= k <= 105 解法一:反转法(O(n) 时间 + O(1) 空间)思路:先将整个数组反转,然后分别反转前 k 个和后 n-k 个元素。比如: 原始数组:[1, 2, 3, 4, 5, 6, 7]步骤: 整体反转 → [7,6,5,4,3,2,1] 前 k=3 个反转 → [5,6,7,4,3,2,1] 后 n-k=4 个反转 →...
LeetCode双指针专题-一个原数组,一个新数组
相关题目LeetCode27.移除元素题目给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为k,要通过此题,您需要执行以下操作: 更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。 返回 k。 示例: 输入: nums = [3,2,2,3], val = 3输出: 2, nums = [2,2,_,_]输入: nums = [0,1,2,2,3,0,4,2], val = 2输出: 5, nums = [0,1,3,0,4,_,_,_] 提示: 0 <= nums.length <= 100 0 <= nums[i] <= 50 0 <= val <= 100 解法 双指针法: fast:遍历数组,负责查找有效数字; slow:标记新数组的位置,覆盖无效元素。 如果 nums[fast] !=...