Git相关
常见问题[git push报错] unable to access ‘https://github.com/xxx.git/‘: Failed to connect to 127.0.0.1 port443原因分析
1.本机系统代理端口和git端口不一致
2.代理服务器未打开
3.加速器VPN未打开
三者有一种情况都会导致失败,侧重点放在原因1端口不一致,端口设置一致之后,若还出错,依次检查后面的原因2、3。
解决方法
1.查看到本机系统默认的代理端口号为:7890
2.设置git的代理端口号为7890
12git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890
3.重新push即可
常用命令
命令
描述
git init
初始化一个新的 Git 仓库
git add [file-name]
将指定的文件添加到暂存区
git commit -m “commit message”
将暂存区的文件提交到本 ...
常用存图方式
邻接矩阵使用于边数较多的稠密图
1234567// 邻接矩阵数组:w[a][b] = c 代表从 a 到 b 有权重为 c 的边int[][] w = new int[N][N];// 加边操作void add(int a, int b, int c) { w[a][b] = c;}
邻接表与数组存储单链表的实现一致(头插法),又称链式前向星存图,适用于边数较少的稀疏图
1234567891011121314int[] he = new int[N], e = new int[M], ne = new int[M], w = new int[M];int idx;// 初始化Arrays.fill(he, -1);// 建图void add(int a, int b, int c) { e[idx] = b; ne[idx] = he[a]; he[a] = idx; w[idx] = c; idx++;}
其中,N为节点个数,M为边的个数
he数组:存储是某个节点所对应的边的集合(链表)的头结点;
e数 ...
LC.P2039[网络空闲的时刻]
LC.P2039[网络空闲的时刻]
方法一:建图+BFS1234567891011121314151617181920212223242526272829303132333435363738394041class Solution { private static int N = 100010, M = 2 * N, INF = 0x3f3f3f3f; private static int[] he = new int[N], e = new int[M], ne = new int[M]; private static int[] dist = new int[N]; int index; private void add(int a, int b) { e[index] = b; ne[index] = he[a]; he[a] = index++; } public int networkBecomesIdle(int[][] edges, int[] patienc ...
LC.P1034[边界着色]
LC.P1034[边界着色]
方法一:BFS123456789101112131415161718192021222324252627class Solution { public int[][] colorBorder(int[][] grid, int row, int col, int color) { int m = grid.length, n = grid[0].length; int[][] ans = new int[m][n]; int[][] dirs = new int[][]{{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; Deque<int[]> queue = new ArrayDeque<>(); queue.offer(new int[]{row, col}); while (!qu ...
LC.P1000[合并石头的最低成本]
LC.P1000[合并石头的最低成本]
题目描述有 N 堆石头排成一排,第 i 堆中有 stones[i] 块石头。
每次移动(move)需要将连续的 K 堆石头合并为一堆,而这个移动的成本为这 K 堆石头的总数。
找出把所有石头合并成一堆的最低成本。如果不可能,返回 -1 。
示例 1:
输入:stones = [3,2,4,1], K = 2输出:20解释:从 [3, 2, 4, 1] 开始。合并 [3, 2],成本为 5,剩下 [5, 4, 1]。合并 [4, 1],成本为 5,剩下 [5, 5]。合并 [5, 5],成本为 10,剩下 [10]。总成本 20,这是可能的最小值。
示例 2:
输入:stones = [3,2,4,1], K = 3输出:-1解释:任何合并操作后,都会剩下 2 堆,我们无法再进行合并。所以这项任务是不可能完成的。.
示例 3:
输入:stones = [3,5,1,2,6], K = 3输出:25解释:从 [3, 5, 1, 2, 6] 开始。合并 [5, 1, 2],成本为 8 ...
LC.P752[打开转盘锁]
LC.P752[打开转盘锁]
题目描述你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为 '0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。
锁的初始数字为 '0000' ,一个代表四个拨轮的数字的字符串。
列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转。
字符串 target 代表可以解锁的数字,你需要给出解锁需要的最小旋转次数,如果无论如何不能解锁,返回 -1 。
示例 1:
输入:deadends = [“0201”,”0101”,”0102”,”1212”,”2002”], target ...
LC.P127[单词接龙]
LC.P127[单词接龙]
题目描述字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk:
每一对相邻的单词只差一个字母。
对于 1 <= i <= k 时,每个 si 都在 wordList中。注意, beginWord 不需要在 wordList 中。
sk == endWord
给你两个单词 beginWord和 endWord 和一个字典 wordList ,返回 从 beginWord 到 endWord 的 最短转换序列 中的 单词数目 。如果不存在这样的转换序列,返回 0。
示例 1:
输入:beginWord = “hit”, endWord = “cog”, wordList = [“hot”,”dot”,”dog”,”lot”,”log”,”cog”]输出:5解释:一个最短转换序列是 “hit” -> “hot” -> “dot” -> “dog” ...
LC.P1053[交换一次的先前排列]
LC.P1053[交换一次的先前排列]
题目描述给你一个正整数数组 arr(可能存在重复的元素),请你返回可在 一次交换(交换两数字 arr[i] 和 arr[j] 的位置)后得到的、按字典序排列小于 arr 的最大排列。
如果无法这么操作,就请返回原数组。
示例 1:
输入:arr = [3,2,1]输出:[3,1,2]解释:交换 2 和 1
示例 2:
输入:arr = [1,1,5]输出:[1,1,5]解释:已经是最小排列
示例 3:
输入:arr = [1,9,4,6,7]输出:[1,7,4,6,9]解释:交换 9 和 7]
提示:
1 <= arr.length <= 10^4
1 <= arr[i] <= 10^4
方法一:贪心先从后往前遍历数组,找到第一个满足$arr[i - 1] > arr[i]$,此时$arr[i-1]$即为要交换的数字。
接着再从后往前遍历数组,找到第一个$arr[j] < arr[i - 1]且arr[j] \ne arr[j - 1]$的下标j,交换$arr[i ...
LC.P443[压缩字符串]
LC.P443[压缩字符串]
题目描述给你一个字符数组 chars ,请使用下述算法压缩:
从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 :
如果这一组长度为 1 ,则将字符追加到 s 中。否则,需要向 s 追加字符,后跟这一组的长度。压缩后得到的字符串 s 不应该直接返回 ,需要转储到字符数组 chars 中。需要注意的是,如果组长度为 10 或 10 以上,则在 chars 数组中会被拆分为多个字符。
请在 修改完输入数组后 ,返回该数组的新长度。
你必须设计并实现一个只使用常量额外空间的算法来解决此问题。
示例 1:
输入:chars = [“a”,”a”,”b”,”b”,”c”,”c”,”c”]输出:返回 6 ,输入数组的前 6 个字符应该是:[“a”,”2”,”b”,”2”,”c”,”3”]解释:”aa” 被 “a2” 替代。”bb” 被 “b2” 替代。”ccc” 被 “c3” 替代。
示例 2:
输入:chars = [“a”]输出:返回 1 ,输入数组的前 1 个字符应该是:[“a”]解释:唯一的组是“a”,它保持未压缩, ...
LC.P417[太平洋大西洋水流问题]
LC.P417[太平洋大西洋水流问题]
题目描述有一个 m × n 的矩形岛屿,与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界,而 “大西洋” 处于大陆的右边界和下边界。
这个岛被分割成一个由若干方形单元格组成的网格。给定一个 m x n 的整数矩阵 heights , heights[r][c]表示坐标 (r, c) 上单元格 高于海平面的高度 。
岛上雨水较多,如果相邻单元格的高度 小于或等于 当前单元格的高度,雨水可以直接向北、南、东、西流向相邻单元格。水可以从海洋附近的任何单元格流入海洋。
返回网格坐标 result 的 2D 列表 ,其中 result[i] = [ri, ci] 表示雨水从单元格 (ri, ci) 流动 既可流向太平洋也可流向大西洋 。
示例 1:
输入: heights = [[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]]输出: [[0,4],[1,3],[1,4],[2,2],[3,0],[3,1],[4,0]]
示例 2:
输入: heigh ...