白劷
码龄8年
关注
提问 私信
  • 博客:91,663
    91,663
    总访问量
  • 44
    原创
  • 40,548
    排名
  • 72
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:求而不得,不求而得

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2017-06-06
博客简介:

可以混,但不能真的菜

博客描述:
随缘写写
查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    182
    当月
    0
个人成就
  • 获得156次点赞
  • 内容获得38次评论
  • 获得307次收藏
  • 代码片获得292次分享
创作历程
  • 9篇
    2024年
  • 6篇
    2021年
  • 32篇
    2020年
成就勋章
TA的专栏
  • 剑指offer
    6篇
  • 后端
    1篇
  • 大数据
    2篇
  • 其他
    1篇
  • LeetCode字符串专题
    1篇
  • 面试经验
    1篇
  • Java练习
    3篇
  • 编程练习
    5篇
  • c++编程
    17篇
  • PAT 乙级
    13篇
  • 数据结构
    10篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

351人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

剑指offer JZ7 重建二叉树

想要重建一棵二叉树,得知道这棵树的先序和中序遍历序列,或者是中序和后序遍历序列,这是数据结构的基础知识。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。这道题考察的是二叉树根据先序、中序来重建二叉树的知识,这是数据结构二叉树部分的基础考点,清楚这个推导过程是先决条件。③这个节点把中序序列分成了左右两部分,对应二叉树的左右子树,把这个子数组用java的库函数建立对应的子树;给定节点数为 n 的二叉树的。
原创
发布博客 2024.09.25 ·
256 阅读 ·
3 点赞 ·
1 评论 ·
0 收藏

建立一棵二叉树

这段代码写来仅自用,如有需要,在移植到自己本地的时候需要微调。
原创
发布博客 2024.09.21 ·
243 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

剑指offer JZ54 二叉搜索树的第k个节点

首先明确,二叉搜索树,也叫二叉排序树,即左子树的节点的值全都小于根节点,右子树的节点值全都大于根节点,每颗子树也都遵从这个规则。那么问题就很简单了:要找第k小的节点,就是找经过中序遍历后的序列的第k个位置的节点。网站上标的难度为中等难度,但其实着重考察的是对二叉搜索树,这种数据结构特性掌握的情况,其中用到了中序遍历,其他的像先序遍历、后续遍历都是需要掌握的,对应于不同的情况。该二叉树所有节点按结点值升序排列后可得[2,3,4,5,6,7,8],所以第3个结点的结点值为4,故返回对应结点值为4的结点即可。
原创
发布博客 2024.09.21 ·
339 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

剑指offer JZ55 二叉树的深度

此题属于简单题,但层次遍历是二叉树的基础算法,需要熟练掌握,而层次遍历又会用到队列这种数据结构,举一反三的话,层次遍历与广度优先算法BFS是有一些相似的,也是用到了队列,相对应的,二叉树里面的深度优先算法DFS,会用到栈这种结构,这些基本都属于是二叉树这块的基础技能。
原创
发布博客 2024.09.18 ·
225 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

剑指offer JZ23 链表中环的入口结点

也就是说,如果以相同的速度,让两个指针,一个从头开始遍历到相遇节点,一个从相遇节点在环中遍历,最后到相遇的节点走的是相同的距离,而因为此时速度相同,所以其中y这个距离,就是重复走的距离,那么他们第一次相遇的点就是环的入口节点了。那么在这个过程中,快指针一共走了x+n*(y+z)+y,慢指针共走了x+m*(y+z)+y,而相同的时间,fast是slow 速度的2倍,所以距离也是2倍,故:x+n*(y+z)+y=2(x+m*(y+z)+y),推导得出(②在有环的链表中找到环的入口。2.双指针(推荐掌握)
原创
发布博客 2024.09.09 ·
281 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

剑指offerJZ24 反转链表

简单题,主要考察链表基础,我们在建一个链表时,通常有尾插法和头插法建表(此处不做详细介绍)。简单来说,尾插法可以得到一个按照插入顺序的链表,头插法可以得到一个逆置的链表,所以此题可以在遍历原链表的时候,以头插法建一个新表,而得到的新表,就是需要的答案。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。要求:空间复杂度 O(1),时间复杂度 O(n)。数据范围: 0≤n≤10000≤n≤1000。如当输入链表{1,2,3}时,
原创
发布博客 2024.09.01 ·
202 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

java: 错误: 无效的源发行版:17

排查:百度后,推测大概率就是pom文件的配置问题,是springboot与jdk不兼容的问题,需要修改几处配置(无需重建项目)。1.首先确认一下你的springboot跟java版本是否冲突(我这块没问题,但是好像17有冲突,不确定,是否需要修改视自己的实际情况而定。如果你到了这一步还没解决的话,那你可以看看我最后是怎么解决的,由于我在控制台看到我的项目执行到server那个module时有问题,所以我专门看了一下这一块的pom文件,发现了问题。于是我把这块的配置改成了8,刷新maven,项目成功启动。
原创
发布博客 2024.07.29 ·
1556 阅读 ·
5 点赞 ·
0 评论 ·
2 收藏

启动yarn后,其他节点没有NodeManager

这个问题虽然折磨了我两天,但是原因特别蠢,可能与各位不一定一样,我是因为ResourceManager的节点的"/etc/hadoop/workers"文件没有配置好(没有配hadoop102和hadoop104),但排查过程可以作参考。
原创
发布博客 2024.07.12 ·
1163 阅读 ·
14 点赞 ·
0 评论 ·
15 收藏

yum install epel-release 遇到的问题

在对一些配置文件进行修改的时候,一定要先进行备份,如果出错,还有挽救的机会。安装epel的时候,执行。
原创
发布博客 2024.07.07 ·
1844 阅读 ·
5 点赞 ·
0 评论 ·
17 收藏

罗马字符转换数字

题目描述:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1;V 5;X 10;L 50;C 100;D 500;M 1000;例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值...
原创
发布博客 2021.08.24 ·
1336 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

西安华为OD面试经验(德科)

背景:本科某双非邮电软件专业,二战冲985失败,随便写的简历挂boss上,hr电话联系帮我约的机考(华为od网络风评很差,这一点还是hr告诉我这个初入社会的学生党的,态度挺诚恳,我也只是本着随便试试的态度去的)。机考是5.7号,技术一面是5.11号,技术二面5.14号,两三天后主管面,之后就是两周左右的审核环节,到最终拿到offer,不到一个月时间吧,其中面试环节要说,也就是一周时间,审核比较花时间。流程:机考——性格测试——技术一面——技术二面——主管面——薪资福利待遇通知——体检入职..
原创
发布博客 2021.06.14 ·
37599 阅读 ·
67 点赞 ·
31 评论 ·
116 收藏

数组中重复的数字

题目描述:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000思路:来自于剑指offer,申请一个初始元素全为0的数组arr[],遍历原先数组nums[],用nums[]存的值,来对应申请的arr[]的下标的值,每出现一次.
原创
发布博客 2021.05.09 ·
347 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

求解平方根,立方根不使用库函数(牛顿迭代法)

题目描述计算一个数字的立方根,不使用库函数。保留一位小数。输入描述:待求解参数,为double类型(一个实数)输出描述:输入参数的立方根。保留一位小数。输入216输出6.0思想:求立方根:令f(x) = x^3-a = 0,其中a为输入数,解出x即为a的立方根,利用牛顿迭代法,让f(x)在X0处一阶泰勒展开,即f(x) = f(x0)+f`(x0)(x-x0) = x0^3-a+3*x0^2*(x-x0)=0;得到x = x0+(a-x0^3)/(3*x0
原创
发布博客 2021.05.03 ·
561 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

删除字符串中出现次数最少的字符

题目描述实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。注意每个输入文件有多组输入,即多个字符串用回车隔开输入描述:字符串只包含小写英文字母,不考虑非法输入,输入的字符串长度小于等于20个字节。输出描述:删除字符串中出现次数最少的字符后的字符串。示例1输入abcddaabcddd输出ddaaddd解题思路: 大致思路是将一串字符存到一个数组中,再...
原创
发布博客 2021.05.01 ·
1837 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

打印杨辉三角

题目描述:打印一个10行的杨辉三角思路:1.用二维数组存储值;2.遍历二维数组(Java)代码实现: public static void main(String[] args) { // TODO Auto-generated method stub /** * 打印10行的杨辉三角; **/ //1.声明二维数组 int[][] yang = new int[10][]; //2.给数组赋值 for(int i=0;i<yang.length;i
原创
发布博客 2021.03.27 ·
148 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

用栈实现回文串检测

设计思想:栈具有先进后出的特性,将字符串str的一半长度字符入栈,再让其依次出栈,对比出栈序列字符是否与剩下一半长度字符依次相等。需要注意字符个数,分奇数偶数。bool ishuiwen(string str){ int s[100]; int top=-1,mid=str.length()/2-1; //入栈; for(int i=0;i<=mid;++i){ top++; s[top] = str[i]; } int next; if(str.length()%2==0
原创
发布博客 2020.12.19 ·
456 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

递归实现回文串的判断

//函数实现;bool find(const char *s,int n){ if(n<=1) return true;//递归边界条件(退出条件); else if(s[0]==s[n-1]) return find(s+1,n-2);//依次判断对应位置上的字符是否相等,递归调用,每次字符串长度减2; else return false;}int main(){ string s="abccba"; string ss="a bc c b a"; int len = ss.
原创
发布博客 2020.12.18 ·
1091 阅读 ·
2 点赞 ·
1 评论 ·
3 收藏

用两个栈模拟队列的伪代码实现

已知条件:栈S1与栈S2,有判断栈满函数Isfull(),判栈空IsEmpty(),入栈push(),出栈pop();用这些基本操作来实现EnQueue(),DeQueue(),IsQueueEmpty()函数;基本思路:栈具有先进后出的特性,所以我们用s1来存储进队的元素,用s2来出队,在这个过程中,由于s1出栈的数据是逆序的,再压入s2再次逆序,那么从s2输出的数据就是正常顺序的,用这样的思路模拟一个队列。需要注意的点是:模拟入队和出队的时候,需要判断s1是否已满,以及s2是否为空,当s1满
原创
发布博客 2020.12.01 ·
1035 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

数据结构—拓扑排序

问:什么是拓扑排序,有什么用,应用场景是什么?首先搞清楚什么是AOV网,如果用DAG(有向无环图)来表示一个工程,用<Vi,Vj>来表示活动Vi必须先于Vj进行的这样一种关系,我们把这种有向图称为顶点表示活动的网络,记作AOV网。拓扑排序:有一个有向无环图的顶点组成的一个序列,必须满足如下条件:①每个顶点都必须出现,且只能出现一次;②如果顶点A在序列中的位置处在B的前面,那么在图中不存在由B到A的路径。注意拓扑排序序列并不唯一,每个AOV网都可以有一个或者多个拓扑序列。.
原创
发布博客 2020.11.22 ·
525 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

图的连通,连通图,连通分量,强连通分量

1.对于无向图而言,如果图中的某两个点,例如:存在W到V的路径,那么我们说w和v是连通的;进一步如果图中任意两点之间都是存在路径的,那么我们说这个是连通的,即可称为连通图。2.连通子图:设G=(V,E)和G`=(V`,E`),如果V`是V的子集,并且E`是E的子集,那么称G`是G的子图。如果子图是连通的,那么就是连通子图,这不难理解。(需要注意,并不是你随便从G=(V,E))中挑的V的子集V`跟E的子集E`,就能构成一个子图,因为有可能挑的边V跟顶点E没有关系,那也就构不成一个图了)3.极大连通子图
原创
发布博客 2020.11.21 ·
8022 阅读 ·
17 点赞 ·
0 评论 ·
53 收藏
加载更多