- 博客(123)
- 收藏
- 关注
原创 Git缓存问题
使用git时,一般会缓存密码,验证等信息,方便pull push等操作。问题: 使用git时,仓库有权限,但是无法push代码,提示:解决:清理http缓存mac:git config --show-origin --get credential.helper找出缓存文件所在路径,把那个文件里的credential配置删掉linux:$ git config --unset --global “credential.helper”如果误删了.gitConfig文件,则需要:重新设置缓存
2022-02-17 11:57:41
953
原创 Cmake执行Python脚本
在CMake中想要在编译target前执行python脚本,因此增加了如下custom target:add_custom_target(3rdPartyTarget COMMAND echo "3rdPartyTarget task start" COMMAND python ${CMAKE_SOURCE_DIR}/xxx.py -d ${CMAKE_SOURCE_DIR} -p win W
2022-02-16 14:28:55
3938
1
原创 Floyd算法
Floyd最短路径算法Flody算法可以求图中任意两点的最短路径,边权可以为负,但是不可以有负环。#include <cstdio>using namespace std;const int MAXN = 30;const int INF = 0x3f3f3f3f;int A[MAXN][MAXN]; // 图的邻接矩阵表示int path[MAXN][MAXN]; // path[i][j]表示从i到j的最短路径上j的前一个顶点的序号int N; // 结点数//
2022-02-14 22:05:13
421
原创 Dijkstra算法
目录BFS DFS算法Dijkstra算法代码实现上节中介绍了图的两种表示方法:邻接表和邻接矩阵。本节将基于上面表示的图,求解路径规划问题。BFS DFS算法算法用途:遍历图的每个节点;求解无权图的最短路径算法思想:BFS 1、使用队列,从起点开始,不断将邻接点加入队列进行访问。DFS 1、使用栈,从起点开始,不断将邻接点入栈(递归进行)。Dijkstra算法算法用途:求解有权图(没有负权值)的最短路径规划问题算法思想: 1、维护两个list,一个openList(访问过的节点)
2022-02-14 21:42:59
523
转载 C++使用Google V8 引擎集成JS脚本能力
V8 引擎简介Google V8 引擎使用 C++ 代码编写,实现了 ECMAScript 规范的第五版 ,可以运行在所有的主流操作系统中,甚至可以运行在移动终端 ( 基于 ARM 的处理器,如 HTC G7 等 )。V8 最早被开发用以嵌入到 Google 的开源浏览器 Chrome 中,但是 V8 是一个可以独立的模块,完全可以嵌入您自己的应用,著名的 Node.js( 一个异步的服务器框架,可以在服务端使用 JavaScript 写出高效的网络服务器 ) 就是基于 V8 引擎的。和其他 JavaS
2021-07-19 19:21:45
3023
1
原创 Node.js 事件循环
首先Node.js JavaScript 代码运行在单个线程上。 每次只处理一件事。任何花费太长时间才能将控制权返回给事件循环的 JavaScript 代码,都会阻塞页面中任何 JavaScript 代码的执行,甚至阻塞 UI 线程,并且用户无法单击浏览、滚动页面等。因此,编码过程中繁重的task应该异步处理。JavaScript 中几乎所有的 I/O 基元都是非阻塞的,如网络请求、文件系统操作等,这就是 JavaScript 如此之多基于回调(最近越来越多基于 promise 和 async/awai
2021-06-11 11:17:17
293
2
原创 2021-05-17
获取某个 Mac 应用的 BundleIDhttps://hechen.xyz/post/reveal-bundleid-application/关于 Library 和 Frameworkhttps://hechen.xyz/post/library_framework/Build Processhttps://hechen.xyz/post/xcode-build-system/
2021-05-17 19:36:58
109
原创 常用工具安装配置、编译、链接等问题
vscode 安装 https://blog.youkuaiyun.com/HelloZEX/article/details/84029810python 安装opencv https://blog.youkuaiyun.com/u010921682/article/details/89675847
2021-02-25 15:00:34
289
原创 1、OpenGL窗口、环境配置相关问题
1、使用Qt库跨平台配置窗口2、使用GLFW库在Windows上配置3、使用GLFW库在Mac上配置4、使用Window.h原生窗口配置5、使用CMake编译Qt项目
2021-01-29 13:38:27
580
原创 QT事件循环
1.一般我们的事件循环都是由exec()来开启的,例如下面的例子:QCoreApplicaton::exec()QApplication::exec()QDialog::exec()QThread::exec()QDrag::exec()QMenu::exec()这些都开启了事件循环,事件循环首先是一个无限“循环”,程序在exec()里面无限循环,能让跟在exec()后面的代码得不到运行机会,直至程序从exec()跳出。从exec()跳出时,事件循环即被终止。QEventLoop::quit
2021-01-13 10:40:49
651
1
原创 LeetCode No.168. Excel表列名称
class Solution {public: string convertToTitle(int n) { string ans = ""; while (n > 0) { n -= 1; //重点 ans.push_back('A' + (n % 26)); n /= 26; } reverse(ans.begin(), ans.end());
2020-09-08 18:54:16
136
原创 图的最小生成树
最小生成树在给定一张无向图,如果在它的子图中,任意两个顶点都是互相连通,并且是一个树结构,那么这棵树叫做生成树。当连接顶点之间的图有权重时,权重之和最小的树结构为最小生成树!在实际中,这种算法的应用非常广泛,比如我们需要在n个城市铺设电缆,则需要n-1条通信线路,那么我们如何铺设可以使得电缆最短呢?最小生成树就是为了解决这个问题而诞生的!1、Kruskal算法(克鲁斯卡算法)Kruskal算法是一种贪心算法,我们将图中的每个edge按照权重大小进行排序,每次从边集中取出权重最小且两个顶点都不在同一个
2020-09-08 13:56:30
2884
原创 LeetCode No.33. 搜索旋转排序数组
假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。必然二分。关键是判断进入那一侧进行继续搜索(提示:某一侧必定有序,数组可以通过下标直接取到开头,结尾等值)。...
2020-09-08 13:20:57
122
原创 LeetCode No.31. 下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1提示:找到第一个升序的位置,交换到正确的位置,再反转该位置后面的所有元素。...
2020-09-08 13:12:28
136
原创 LeetCode No.99. 恢复二叉搜索树
这道题难点,是找到那两个交换节点,把它交换过来就行了。这里我们二叉树搜索树的中序遍历(中序遍历遍历元素是递增的)class Solution { TreeNode firstNode = null; TreeNode secondNode = null; TreeNode preNode = new TreeNode(Integer.MIN_VALUE); public void recoverTree(TreeNode root) { in_orde
2020-09-07 17:16:09
108
原创 LeetCode No.95. 不同的二叉搜索树 II
给定一个整数 n,生成所有由 1 … n 为节点所组成的 二叉搜索树 。方法:递归(递归的精髓:假定子问题已经获取了正确解)
2020-09-07 16:32:41
194
原创 剑指 Offer 04. 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。...
2020-09-07 11:07:08
85
原创 LeetCode No.25. K 个一组翻转链表
链表类的题都是那几步比如断链、接链、反转、排序的操作而已。难题也只不过是简单题的组合或者几个简单的思路的组合而已。ListNode* reverseKGroup(ListNode* head, int k) { if (!head || !head->next || k == 1) return head; ListNode *dummyhead = new ListNode(-1); // 虚拟头节点 dummyhead->next = head; ListNode *pos = d
2020-09-04 17:39:35
134
原创 LeetCode No.21. 合并两个有序链表
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1==nullptr) return l2; if(l2==nullptr ) return l1; ListNode* head=new ListNode(-1); //构造头节点 ListNode* tmp=head; while(l1!=nullptr || l2!=nullptr){
2020-09-04 16:32:14
118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人