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] !=...
LeetCode27.移除元素C++
题目给你一个数组 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 答案方法1:笨方法找个数组存不等于val的元素,然后赋值回去。 时间复杂度: O(n)空间复杂度:O(n)class Solution {public: int...
LeetCode88. 合并两个有序数组C++
题目给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。 示例: 输入:nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6] 答案方法1:笨方法最简单粗暴的方法就是用一个数组来存放nums1,将nums1当作最终结果数组。 时间复杂度:O(m + n)空间复杂度:O(m)class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { ...
LeetCode背包专题C++
注意以下内容理论部分有参考《代码随想录》,推荐看了代码随想录得背包问题相关内容后再刷代码。代码随想录 0-1背包问题理论基础问题描述一个正在抢劫商店的小偷发现了个商品,第范围为个商品价值value[i]美元,重weight[i]磅,value[i]和weight[i]都是整数。这个小偷希望拿走价值尽量高的商品,但他的背包最多能容纳磅重的商品,是一个整数。他应该拿哪些商品呢?(我们称这个问题是0-1背包问题,因为对每个商品,小偷要么把它完整拿走,要么把它留下;他不能只拿走一个商品的一部分,或者把一个商品拿走多次。) 求解思路二维数组1.确定dp数组以及下标的含义dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。 2.确定递推公式对于物体i只有两种情况 不放物品i:背包容量为j,里面不放物品i的最大价值是dp[i - 1][j]。 放物品i:背包空出物品i的容量后,背包容量为j - weight[i],dp[i - 1][j - weight[i]]为背包容量为j - weight[i]且不放物品i的最大价值,那么dp[i -...
LeetCode23合并K个升序链表C++
题目题目描述:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]]输出: [1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6 示例 2: 输入: []输出: [] 示例 3: 输入: [ [] ]输出: [] 方法 1:逐对合并(分治法)分治法的思路是将K个链表分成两部分,递归合并。 时间复杂度: O(N log K),其中N是所有链表中元素的总数,K是链表的个数。 每次合并的时间复杂度是O(N),但分治递归的深度是log K。 代码实现:class Solution {public: // 递归分治合并 K 个链表 ListNode* findRes1(vector<ListNode*>& lists, int...