自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (8)
  • 收藏
  • 关注

原创 编译 bgfx(以windows10/VS2019为例)

bgfx是一个开源的图形api无关的渲染库,由于工作需要,充分认识和感受其源码和相关案例,鄙人花费了一些时间来搭建其环境。一、源码准备 1. 下载bgfx源码:https://github.com/bkaradzic/bgfx 到指定目录(我的是E:\SDKLibary\BGFX), 并解压; 2. 下载bx(作者的一个工具库)源码:https://github.com/bkaradzic/bx到指定目录(我的是E:\SDKLibary\BGFX),并解压;3. 下载...

2021-10-07 23:34:45 1547 2

原创 电脑win7系统开机密码忘记

实践记录-当电脑win7系统开机密码忘记当电脑win7系统开机密码忘记,可以:1)使用系统启动U盘(老毛桃),选择开机密码删除,按照引导步骤进行密码删除,然后重启电脑即可。2)如果出现grup,是因为系统主引导丢失了,则需要进行修复,操作如下:1))使用系统启动U盘(老毛桃),进入到U盘的win8系统中;2))点击“Windows启动引导修复”;3))选择“C盘”4))选择“高级”5))选择“写主引导程序/引导程序”6))选择“4.重写主引导程序-MBR ”7))等待写入成功,关闭窗口

2020-12-08 12:39:20 841

原创 Leedcode-剑指 Offer 25. 合并两个排序的链表----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000思路:思路1:将2个链表的数据取出来,排好序,重新创建新的链表,返回这个思路与此前的文章Leedcode编程题23: 合并K个排序链表----C++

2020-07-26 21:25:40 246

原创 Leedcode编程题-剑指 Offer 07 - 重建二叉树----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000思路:前序遍历:根左...

2020-06-28 10:33:11 234

原创 Leedcode编程题-剑指 Offer 32 - I. 从上到下打印二叉树----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]提示:节点总数 <= 1000思路:二叉树的遍历的层次遍历(宽度优先遍历),使用栈、队列等容器进行辅助访问节点。(与 II. 从上到下打印二叉...

2020-06-21 20:48:05 179

原创 Leedcode编程题-剑指 Offer 32 - II. 从上到下打印二叉树 II----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]提示:节点总数 <= 1000思路:二叉树的遍历的层次遍历(宽度优先遍历),使用栈、队列等容器.

2020-06-20 12:40:18 167

转载 学习笔记(4):从零开始学习机器学习视频教程-EM算法之Jensen不等式

零基础入门机器学习视频培训课程概况:机器学习数学基础、Python基础、机器学习算法(线性回归、逻辑回归、聚类算法、EM算法),机器学习项目实战(Kmeans篮球数据分析、贝叶斯算法训练)、推荐算法、项目实战。  任务作业: 很多人都喜欢看NBA,也喜欢拿实力相近的球员进行比较,你能利用机器学习的方式进行分析吗?动手的机会来了!请 结合课程【项目实战】章节中的【Kme...

2020-06-19 11:38:40 208

原创 Leedcode编程题-面试题27. 二叉树的镜像----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4/ \2 7/ \ / \1 3 6 9镜像输出:4/ \7 2/ \ / \9 6 31示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]限制:0 <= 节点个数 <= ...

2020-06-17 22:47:29 175

原创 Leedcode编程题-面试题55 - I. 二叉树的深度----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。思路:递归遍历方法若当前结点为空则返回0;否则分别求当前结点的左右子树的深度,取左右...

2020-06-17 22:21:40 185

原创 Leedcode编程题21:合并两个有序链表----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路:解法1:递归法比较两个链表的头结点,递归调用函数,注意终止条件。时间复杂度:O(n+m);空间复杂度:O(n+m)解法2:迭代法设置哑结点简化代码,当一方为空结点.

2020-06-17 22:06:41 255

原创 Leedcode编程题-面试题22. 链表中倒数第k个节点----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.思路:采用快慢指针:快指针先走K步;然后慢指针开始跟快指针同

2020-06-16 21:34:33 170

原创 Leedcode编程题-面试题58 - II. 左旋转字符串----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出:"cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出:"umghlrlose"限制:1 <= k...

2020-06-16 21:19:31 158

原创 Leedcode编程题41: 缺失的第一个正数----C++实现

目的:旨在记录在Leedcode网上刷题的过程,记录心得。题目:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1提示: 你的算法的时间复杂度应为O(n),并且只能使用常数级别的额外空间。思路:last:保存遍历到的符合条件的最大范围思路:先将数组排好序;依次遍历数组元素,处理符合[

2020-05-21 12:45:42 187

原创 学习笔记(03):推荐系统核心精讲-推荐系统离线评估

本课程是推荐系统的入门课程,主要从推荐系统背景介绍、推荐算法、推荐系统工程、推荐产品形态、实战等五个部分对推荐系统做初略的介绍。在背景介绍部分,会讲解推荐系统的技能要求、推荐系统的价值与应用场景、推荐系统团队组成及角色定位、推荐系统的未来发展等。在推荐算法部分,会讲解最主流的基于内容的、协同过滤等推荐算法。在工程实践部分会讲解怎么评估推荐系统、推荐系统AB测试等方面的工程知识。在产品形态部分...

2020-03-19 22:29:36 1157

原创 学习笔记(02):推荐系统核心精讲-数据与特征工程02

本课程是推荐系统的入门课程,主要从推荐系统背景介绍、推荐算法、推荐系统工程、推荐产品形态、实战等五个部分对推荐系统做初略的介绍。在背景介绍部分,会讲解推荐系统的技能要求、推荐系统的价值与应用场景、推荐系统团队组成及角色定位、推荐系统的未来发展等。在推荐算法部分,会讲解最主流的基于内容的、协同过滤等推荐算法。在工程实践部分会讲解怎么评估推荐系统、推荐系统AB测试等方面的工程知识。在产品形态部分...

2020-03-19 22:02:10 146

原创 学习笔记(01):推荐系统核心精讲-数据与特征工程01

本课程是推荐系统的入门课程,主要从推荐系统背景介绍、推荐算法、推荐系统工程、推荐产品形态、实战等五个部分对推荐系统做初略的介绍。在背景介绍部分,会讲解推荐系统的技能要求、推荐系统的价值与应用场景、推荐系统团队组成及角色定位、推荐系统的未来发展等。在推荐算法部分,会讲解最主流的基于内容的、协同过滤等推荐算法。在工程实践部分会讲解怎么评估推荐系统、推荐系统AB测试等方面的工程知识。在产品形态部分...

2020-03-19 21:08:35 295

原创 Leedcode编程题147: 对链表进行插入排序----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目对链表进行插入排序。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。示例 1:输入: 4->2->1->3输出: ...

2020-02-03 08:59:08 246

原创 Leedcode编程题92: 反转链表 II----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤m≤n≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL思路将指针移动到m-1...

2020-01-21 23:30:33 128

原创 Leedcode编程题206:反转链表----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?思路每次循环,都将当前节点指向它前面的节点,然后当前节点和前节点后移。...

2020-01-20 21:51:57 134

原创 Leedcode编程题220: 存在重复元素 III----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得nums [i] 和nums [j]的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。示例1:输入: nums = [1,2,3,1], k = 3, t = 0输出: true示例 2:输入: nums = [1,0...

2020-01-20 02:53:11 396

原创 Leedcode编程题217: 存在重复元素 ----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4...

2020-01-17 23:17:00 172

原创 Leedcode编程题219: 存在重复元素 II----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个整数数组和一个整数k,判断数组中是否存在两个不同的索引i和j,使得nums [i] = nums [j],并且 i 和 j的差的绝对值最大为 k。示例1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1...

2020-01-16 22:20:42 125

原创 Leedcode编程题23: 合并K个排序链表----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6思路参考大神的思路,实现的代码。1...

2020-01-15 22:49:58 195

原创 Leedcode编程题49: 字母异位词分组----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输...

2020-01-12 23:52:43 387

原创 Leedcode编程题18: 四数之和----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个包含n 个整数的数组nums和一个目标值target,判断nums中是否存在四个元素 a,b,c和 d,使得a + b + c + d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, ...

2020-01-11 12:13:40 209

原创 Leedcode编程题454: 四数相加II----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定四个包含整数的数组列表A , B , C , D ,计算有多少个元组 (i, j, k, l),使得A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最...

2020-01-11 11:30:24 393

原创 Leedcode编程题451: 根据字符出现频率排序----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。示例 2:输入:"cccaaa"输出:"cccaaa"...

2020-01-10 15:14:20 377

原创 Leedcode编程题209:长度最小的子数组----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4,3]是该条件下的长度最小的连续子数组。进阶:如果你已经完成...

2020-01-09 17:09:50 197

原创 Leedcode编程题11:盛最多水的容器----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 ...

2020-01-08 12:03:06 194

原创 Leedcode编程题215:数组中的第K个最大元素----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有...

2020-01-08 10:10:57 127

原创 Leedcode编程题88:合并两个有序数组----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:n...

2020-01-08 10:03:34 182

原创 Leedcode编程题75:颜色分类----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,...

2020-01-06 13:56:15 253

原创 Leedcode编程题80:删除排序数组中的重复项 II----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素...

2020-01-05 14:07:12 131

原创 Leedcode编程题27:移除元素----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], ...

2020-01-05 13:07:29 93

原创 Leedcode编程题26:删除排序数组中的重复项----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 ...

2020-01-04 14:06:29 172

原创 Leedcode编程题283:移动零----C++实现

目的旨在记录在Leedcode网上刷题的过程,记录心得。题目给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路依次遍历数组,遇到0元素便开始统计step,遇到非0元素便开始移动st...

2020-01-03 23:45:52 335

原创 Mac 下的VS code编辑器进行C/C++开发

问题1: 如何配置?参考博客:【链接】Mac下使用VScode进行C/C++开发https://www.cnblogs.com/lianshuiwuyi/p/8094388.html问题2: 自己写的类实现,如何用起来?(1)在tasks.json文件中,args[]标签中,应该包含所有的cpp文件,比如下面的代码:"args":[ "m...

2019-12-27 21:23:06 694 2

原创 二叉树的创建和遍历---C++实现

1. 二叉树概念二叉树是一颗树,其中每个节点都不能有多于2个的子树,一般会有左子树和右子树,两者均可能为空。二叉树实际上是图。2. 二叉树节点和类的声明创建树之前需要先声明一个树的结点。//声明树结点typedef struct node { char element; //结点值 struct node* left; //左子树 struct node* right...

2019-12-27 17:10:10 766

原创 如何找数组中重复次数最多的数?---python实现

目的:旨在记录python编程练习过程,记录心得。题目:如何找数组中重复次数最多的数?例如:【1,1,2,2,3,4,4,4,4,5,5,5,5,6,6】应输出元素4思路:先处理数据,使用字典来保存「元素:元素出现次数」,然后找到出现次数最多的那个键值即可。主要是对字典的操作。代码:# -*- coding:utf-8 -*-"""如何找数组中...

2019-12-24 21:32:34 3362 3

原创 牛客编程题7:输入两个单调递增的链表,输出两个链表合成后的链表。——Python

目的:旨在记录在牛客网上刷题的过程,记录心得。题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。​​​​​​​思路:将两个链表中的元素合并成一个列表,然后将该列表进行有重复的从小到大排序,再将列表元素值重新构建链表。链表创建的过程思路参考我另一篇博客《使用给定的List创建单链表》。代码:# -*- coding:utf...

2019-10-12 12:51:07 313

OpenGL.Superbible.7th.Edition

英文版的OpenGL超极宝典

2016-08-24

OpenGL Programming Guide(8th)

红宝书第八版(英文版)

2016-08-23

Cg Programming in Unity

这是一份Cg语言的学习手册,最近在研究shader,想着把它分享给大家。

2016-05-03

基于Cg的Shader技术在视景系统开发中的应用研究_李勋祥

2016-05-03

循环结构程序设计

仅仅是一些课程资料,来自于个人的练习,想放到网络上保留着,日后查看也方便。

2014-11-10

求两个正整数的最大公因数算法

此文档是我平时练习代码的一些小记录,一个很小的编程实例,关于求两个正整数的最大公因数的算法。

2014-11-09

选择结构程序设计实验报告

此文档仅仅是我的一些课程实验,但是代码和想法都是自己独立想出来的,所以想拿出来共享一下。

2014-11-09

熟悉上机环境和顺序结构编程实验报告

仅仅是一些课程实验,但全是自己独立写出来的,想拿出来共享一下。

2014-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除