自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孙彬

退而结网

  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 资源记录

AE插件https://zhuanlan.zhihu.com/p/26304609

2020-12-04 19:48:42 228

原创 每日一题:从前序与中序遍历序列(C++)

题目描述:根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:39 2015 7解题思路:1.前序遍历顺序,跟->左->右中序遍历顺序,左->跟->右,由此可以得知前序的第一个元素就是根节点。2.利用得到的根节点下标 index 可以在中序遍历得到根节点的位置,根节点

2020-11-02 19:49:36 265

原创 每日一题:字符串相加(C++)

题目描述:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。1.num1 和num2 的长度都小于 51002.num1 和num2 都只包含数字 0-93.num1 和num2 都不包含任何前导零4.你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式解题思路:定义两个指针分别指向两个串的当前需要被执行加法的数字位,对于string,看做数组下标,需要从后向前递减指针数值每一轮循环的时候,如果这个数字还没有被加完(也就是一个数字比另一

2020-08-03 19:50:16 840

原创 每日一题:跳跃游戏(C++)

题目描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。实例1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。实例2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。解题思路:贪

2020-07-29 19:49:50 584 1

原创 每日一题: 扑克牌中的顺子(C++)

题目描述:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True限制:数组长度为 5数组的数取值为 [0, 13] .解题思路:1. 先排序。2.判断相邻两张牌之间需要多少个大王或小王来填补。3.如果需要填补的大小王的数量,大于已有

2020-07-10 19:30:34 755

原创 每日一题:最长重复子数组(C++)

题目描述:给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出:3解释:长度最长的公共子数组是 [3, 2, 1] 。解题思路:滑动窗口。1.将2个数组对齐,对数组进行一次遍历就可得到字数组长度。2.对齐方式有两种,第一种,B数组不动,A数组的首个元素与B数组的某个元素对齐,第二种,A数组不动,B数组的首个元素与A数组的某个元素对齐。class Solution {public:

2020-07-01 19:55:04 438

原创 每日一题:用两个栈实现队列(C++)

题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入1: [“CQueue”,“appendTail”,“deleteHead”,“deleteHead”] [[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“deleteHead”,“append

2020-06-30 19:29:43 275

原创 每日一题:打家劫舍(C++)

题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:

2020-05-29 10:09:57 946

原创 每日一题:和可被K整除的子数组(C++)

题目描述:给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。示例:输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]提示:1 <= A.length <= 30000-10000 <= A[i] <= 100

2020-05-27 16:12:28 360

原创 每日一题:盛水最多的容器(C++)

题目描述:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49解题思路:

2020-05-25 15:18:35 286

原创 每日一题:有序数组装换为二叉搜索树(C++)

题目描述:将有序数组转换为二叉搜索树将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \-3 9/ /-10 5解题思路:已经直到是有序数组,那么中间的数 mid就是根节点。root 为 nums[mid]。树

2020-05-21 15:45:35 138

原创 每日一题:丑数(C++)

题目描述:我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超过1690。解题思路:前20个丑数为:1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36。通过规律,可以得出后一个数字为前某个数字

2020-05-20 15:08:43 897

原创 每日一题:判断是否为字符重排(C++)

题目描述:给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = “abc”, s2 = “bca”输出: true示例 2:输入: s1 = “abc”, s2 = “bad”输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100第一种解法:1.比较传入的字符串的长度是否相等,不相等返回false。2.对2个字符串排序。3.排序后比较

2020-05-19 15:30:08 411

原创 每日一题:二叉搜索树的后序遍历(C++)

**题目描述:**输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树: 5/ \2 6/ 1 3示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,5]输出: true**已知条件:**后序序列最后一个值为 root,二叉搜索树的左子树的值都小于root,右子树的值都大于root。解题思路:确定根节点roo

2020-05-18 14:55:40 338

原创 leetcode第10题-正则匹配表达式(C++)

给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = “aa”p = “a”输出: false解释: “a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa”

2020-05-14 14:59:42 229

原创 leetcode第15题-三数之和(C++)

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]解题思路:三数之和可以解构成在二数之和问题的基础上,将target的值变成变化的值。将数组遍历,每个元素的值就是target的取值。1.为保证不

2020-05-13 14:35:57 488

原创 leetcode第三题-最大回文字符串(C++)

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”解题思路: 中心扩展法回文中心的两侧互为镜像。因此,回文可以从他的中心展开,并且只有 2n-1 个这样的中心(一个元素为中心的情况有 n 个,两个元素为中心的情况有 n-1 个)1.如果字符串的长度小于2,直接返回它本身。2.定义3个变量,start指向当前最大回文字

2020-05-12 11:24:32 341

原创 leetcode第三题:无重复字符的最长子串(C++)

例题:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。//---

2020-05-11 11:20:15 179

原创 leetcode第一题:两数之和及解题思路(C++)

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]暴力求解:class s...

2020-05-07 14:55:53 314

原创 使用C++搭配OpenGL写了一个RenderEngine

最近在学习OpenGL,看书看的再多,也不如自己动手写一个来看看,耗时一个多月,由于才学不久,各位大佬勿喷。用到了glfw Imgui glm这几个库,整合的资源里都带了。下载链接: https://download.csdn.net/download/weixin_44294809/12053472...

2019-12-26 15:02:15 980 1

原创 Git报错:add files filed

刚开始用Git上传新的项目,步骤都是对的,说是没有添加SSH key,可是我添加了,一直报这个错,最后摸索出来是项目没有保存,保存一下项目这个问题就解决了 。...

2019-12-03 21:20:16 405

原创 学习OpenGL(二)GLSL

2.3 OpenGL着色器语言描述2.3.1 使用GLSL构建着色器变量的声明GLSL是一种强类型的语言,所有变量都必须事先声明,并且要给出变量的类型。GLSL中的基本数据类型:类型描述floatIEEE 32 位浮点数doubleIEEE 64 位浮点数int有符号二进制补码的 32 位整数uint无符号的 32 位整数bool布尔...

2019-11-16 09:50:42 322

原创 学习OpenGL(一)

1.1 什么是OpenGL?OpenGL是一种应用程序编程接口,它是一种可以对图形硬件设备特性进行访问的软件库。一个用来渲染图像的OpenGL程序需要执行的主要操作如下:·从OpenGL的几何图元中设置数据,用于构建形状。·使用不同的着色器(shader)对输入的图元数据执行计算操作,判断它们的位置、颜色,以及其他渲染属性。·将输入图元的数学描述转化为与屏幕位置对应的像素片元(fragm...

2019-11-16 09:36:27 384

原创 C++基础知识点(二)

16 类和对象的基本概念类的作用或概念:用来描述一组具有相似属性的东西的对象的一种数据结构。类中有数据成员的声明和定义,有成员函数的实现代码。对象就是类的实例化。计算机要想使用类,只能进行实例话。17 STL的基本概念STL是标准库模板,由容器算法迭代器组成。STL优点:1.可以很方便的对一堆数据库进行排序(调用sort());2.STL是跨平台的,在Linux下也能使用。3.调试...

2019-03-23 18:09:36 155

原创 C++基础知识点(一)

1:指针()、引用(&)、解引用()、取地址(&)的概念和区别概念:指针指向一块内存,指针保存的是内存的地址;引用是变量的别名,本质是引用该变量的地址。区别(1)引用使用无需解引用,指针需解引用。(2)引用不能为空,指针可以为空。(3)引用在定义时被初始化一次,之后不可改变;指针指向的值和本身的值是可变的,也就是说,指针只是一块地址,地址里的东西可变。(4)程序会给...

2019-03-20 11:25:27 503

OpenGL-NaturalEngine.rar

使用OpenGL,glfw开发的一个Natural Engine,并用Imgui库搭建UI界面,可以控制场景中的山体,云,水,和材质贴图的变化。适合学习了C++的童靴食用

2019-12-26

C++新手项目(简单易上手)

适合学习C++新手来练习的小项目,有银行排队系统、雷霆战机、ATM等20个项目

2019-03-24

空空如也

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

TA关注的人

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