solution-Github不再支持私有仓库部署gh-pages
问题
除非学生认证或者购买专业版,否则github不再支持私有仓库部署gh-pages了
补充一嘴,现在这个github学生认证真难弄,搞半天不行,索性不弄了
解决思路
既然不支持私有仓库,那我们就迁移到公开仓库呗
当然也不是全部迁移,可能我们并不想公开我们的全部代码,只想公开部署分支的静态页面内容,所以这里就按照这样思路去尝试了
具体解决
首先,我们要创建一个新的公开仓库,名字就是博客地址:xxx.github.io(如果原来私有仓库已经用了,可以把原仓库名字改了)
生成 Personal Access Token:
进入 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
点击 “Generate new token” → “Generate new token (classic)”
设置过期时间(建议选 “No expiration”)
勾选权限:repo、workflow
生成并复制 token
在源仓库添加 Secret:
进入你的 Hexo 源码仓 ...
solution-Cursor连接远程服务器问题
记录一次cursor连接不到远程服务器,调试解决的过程
情况:本地电脑是windows11,在terminal中使用ssh命令连接是ok的,用vscode ssh连接也是ok的,但是用cursor ssh连接就是不行。但是在实验室的ubuntu电脑上的cursor和vscode连接远程服务器又是都可以的
问题:本地cursor版本:0.49,使用remote ssh插件连接时,输入host后,直接报错:Error installing server: Failed to install the Cursor Server. Error resolving SSH authority Failed to install the Cursor Server.,都没有到输入密码的那一步
尝试:
显示搜索了相关的帖子,做了一些尝试,这些尝试可能不是必须的:
卸载cursor,删除用户目录下的cursor个性化目录,安装最新版cursor
删除了远程服务器用户目录下的cursor server文件夹
杀死了远程服务器所有cursor相关的进程
看到了这个帖子:https://github ...
algorithm-series-bracket
括号相关问题
20. 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。
示例 1:
**输入:**s = “()”
**输出:**true
示例 2:
**输入:**s = “()[]{}”
**输出:**true
示例 3:
**输入:**s = “(]”
**输出:**false
示例 4:
**输入:**s = “([])”
**输出:**true
提示:
1 <= s.length <= 10^4
s 仅由括号 '()[]{}' 组成
1234567891011121314151617181920212223class Solution { public boolean isValid(String s) { // 栈 char cs[] = s.toCharArray(); ...
note-sql
sql
窗口函数
有三种排序方式
rank() over() 1 2 2 4 4 6 (计数排名,跳过相同的几个,eg.没有3没有5)
row_number() over() 1 2 3 4 5 6 (赋予唯一排名)
dense_rank() over() 1 2 2 3 3 4 (不跳过排名,可以理解为对类别进行计数)
group by的常见搭配:常和以下聚合函数搭配
avg()-- 求平均值
count()-- 计数
sum()-- 求和
max() – 最大值
min()-- 最小值
例题
现有试卷信息表examination_info(exam_id试卷ID, tag试卷类别, difficulty试卷难度, duration考试时长, release_time发布时间)
试卷作答记录表exam_record(uid用户ID, exam_id试卷ID, start_time开始作答时间, submit_time交卷时间, score得分)
找到每类试卷得分的前3名,如果两人最大分数相同,选择最小分数大者,如果还相同,选择uid大者
123456789SELECT tag, u ...
note-java-rip
Java非算法手撕
线程池
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667import java.util.concurrent.LinkedBlockingDeque;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;import java.util.concurrent.ThreadFactory;import java.util.concurrent.atomic.AtomicInteger;public class Solution { public static void main(String[] args) { int corePoolSize = 2; int maximumPoolSize = 4; ...
algorithm-series-array-occurrence-count-problem
数组数字出现次数问题
找出数组中只出现一次的数字
给定一个非空整数数组,其中某个元素只出现一次,其余元素均出现两次。找出只出现一次的元素。
1234567public int singleNumber(int[] nums) { int result = 0; for (int num : nums) { // 将所有数字异或,最终结果就是只出现一次的数字 result ^= num; } return result;}
找出数组中只出现一次的两个数字
给定一个整数数组,其中有两个元素只出现一次,其余元素均出现两次。找出这两个只出现一次的元素。
12345678910111213141516public int[] singleNumber(int[] nums) { int xor = 0; for (int num : nums) { // 对所有数字进行异或 xor ^= num; } int mask = xor & ...
note-java-concurrency
Java并发
Java多线程入门 类和接口
JDK提供了Thread类和Runnalble接口来让我们实现自己的“线程”类
继承Thread类,并重写run方法
构造函数:
123456789private void init(ThreadGroup g, Runnable target, String name, long stackSize, AccessControlContext acc, boolean inheritThreadLocals)public Thread(Runnable target) { init(null, target, "Thread-" + nextThreadNum(), 0);}public Thread(Runnable target, String name) { init(null, target, name, 0);}
Thread类常用方法
currentThread():静态方 ...
algorithm-hot100
没有特殊说明,题目均来自牛客面试必刷101
链表
反转链表
12345678910public ListNode ReverseList (ListNode head) { ListNode cur = head, pre = null; while (cur != null) { ListNode nxt = cur.next; cur.next = pre; pre = cur; cur = nxt; } return pre;}
1234567891011121314151617181920212223242526272829class Node { int val; Node nxt; public Node(int val) { this.val = val; }}public class Solution { public static void main(String[] args) ...
algorithm-string-z
Z函数
定义z[i]表示𝑠[i:]与𝑠的LCP(最长公共前缀)的长度,其中𝑠[i:]表示从𝑠[i]到𝑠[n−1]的子串(后缀串)
模板
1234567891011121314151617private int[] calcZ(int[] s, int start) { int n = s.length - start; int[] z = new int[n]; int boxL = 0; int boxR = 0; // z-box 左右边界 for (int i = 1; i < n; i++) { if (i <= boxR) { z[i] = Math.min(z[i - boxL], boxR - i + 1); } while (i + z[i] < n && s[start + z[i]] == s[start + i + z[i]]) { boxL = i; ...
algorithm-tree-dfs-timestamp
dfs时间戳
深度优先搜索(DFS)是一种用于遍历或搜索树或图的算法。时间戳是DFS的一种应用,用于记录节点被访问的时间顺序。通过时间戳,我们可以了解节点的访问顺序以及子树的范围。
时间戳在许多算法中都有应用,例如:
树的重链剖分:在树的重链剖分中,时间戳用于标记节点的访问顺序。(目前主要是这个)
拓扑排序:通过DFS时间戳可以实现拓扑排序。
强连通分量:在图中找到强连通分量。
用法如下所示(记录节点的访问顺序)
123456789101112// 记录当前节点对应在字符串的区间int time = 0;private void dfs(int cur, List<Integer> g[], char cs[], char dfsStr[], int nodes[][]) { nodes[cur][0] = time; for (int nxt : g[cur]) { dfs(nxt, g, cs, dfsStr, nodes); } dfsStr[time++] = cs[cur]; nodes ...


