- 博客(65)
- 收藏
- 关注
原创 毕业实习FinalShell Hadoop Scala安装运行问题解决及避坑事项
虚拟机安装,Hadoop安装与配置,及IDEA运行scala项目的系列问题与解决方案,还有安装过程配置过程中的踩坑避免事项。
2023-03-19 10:36:08
1522
3
原创 【编程题 动态规划】兑换零钱(一)(详细注释 易懂)
给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。如果无解,请返回-1.数据范围:数组大小满足 0≤n≤10000, 数组中每个数字都满足 0
2022-08-22 09:09:16
1045
原创 【编程题 动态规划】把数字翻译成字符串(详细注释 易懂)
有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。我们把一个字符串编码成一串数字,再考虑逆向编译成字符串。由于没有分隔符,数字编码成字母可能有多种编译结果,例如 11 既可以看做是两个 'a' 也可以看做是一个 'k' 。但 10 只可能是 'j' ,因为 0 不能编译成任何结果。现在给一串数字,返回有多少种可能的译码结果数据范围:字符串长度满足 0
2022-08-21 11:22:32
1188
原创 【编程题 】BM59 N皇后问题(详细注释 易懂)
N皇后问题是指在 n * n的棋盘上要摆 n个皇后,要求:任何两个皇后不同行,不同列也不在同一条斜线上,求给一个整数 n,返回 n皇后的摆法数。数据范围:1 \le n \le 91≤n≤9要求:空间复杂度O(1)O(1),时间复杂度O(n!)O(n!)例如当输入4时,对应的返回值为2,对应的两种四皇后摆位如下图所示:
2022-08-20 14:28:17
732
原创 【编程题 】BM52 数组中只出现一次的两个数字(详细注释 易懂)
一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。数据范围:数组长度 2≤n≤1000,数组中每个数的大小 0
2022-08-19 15:13:16
315
原创 【编程题 】BM30 二叉搜索树与双向链表(详细注释 易懂)
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。注意:1.要求不能创建任何新的结点,只能调整树中结点指针的指向。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继2.返回链表中的第一个节点的指针3.函数返回的TreeNode,有左右指针,其实可以看成一个双向链表的数据结构4.你不用输出双向链表,程序会根据你的返回值自动打印输出...
2022-08-17 14:09:01
374
原创 【编程题 】BM27 按之字形顺序打印二叉树(详细注释 易懂)
给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)数据范围:0 \le n \le 15000≤n≤1500,树上每个节点的val满足|val|
2022-08-17 10:26:12
213
原创 【编程题 递归+非递归】BM24 二叉树的中序遍历(详细注释 易懂)
给定一个二叉树的根节点root,返回它的中序遍历结果。数据范围:树上节点数满足0 \le n \le 10000≤n≤1000,树上每个节点的值满足0 \le val \le 10000≤val≤1000进阶:空间复杂度 O(n),时间复杂度O(n)...
2022-08-16 22:56:11
457
原创 【编程题 递归+非递归】BM24 二叉树的前序遍历(详细注释 易懂)
给你二叉树的根节点root,返回它节点值的前序遍历。数据范围:二叉树的节点数量满足0 \le n \le 100 \0≤n≤100,二叉树节点的值满足1 \le val \le 100 \1≤val≤100,树的各节点的值各不相同...
2022-08-16 22:54:44
442
原创 【编程题 递归+非递归】BM25 二叉树的后序遍历(详细注释 易懂)
给定一个二叉树,返回他的后序遍历的序列。后序遍历是值按照 左节点->右节点->根节点 的顺序的遍历。数据范围:二叉树的节点数量满足 0≤n≤100,二叉树节点的值满足 1≤val≤100,树的各节点的值各不相同...
2022-08-16 22:38:32
335
原创 【编程题 】NC2 重排链表(详细注释 易懂)
将给定的单链表\ LL:L_0→L_1→…→L_{n-1}→L_ nL0→L1→…→Ln−1→Ln重新排序为:L_0→L_n →L_1→L_{n-1}→L_2→L_{n-2}→…L0→Ln→L1→Ln−1→L2→Ln−2→…要求使用原地算法,不能只改变节点内部的值,需要对实际的节点进行交换。数据范围:链表长度 0≤n≤20000,链表中每个节点的值满足 0≤ val ≤1000要求:空间复杂度O(n)O(n)并在链表上进行操作而不新建链表,时间复杂度 O(n......
2022-08-14 12:56:48
630
原创 JDK1.8的ConcurrentHashMap底层实现解析
ConcurrentHashMap的特性concurrentHashMap跟Hashtable具有相同的功能方法。可以看作是Hashtable的升级版,HashMap的线程安全版。跟Hashtable相同,它的键或值不允许是null。ConcurrentHashMap和HashMap一样都是采用拉链法处理哈希冲突,且都为了防止单链表过长影响查询效率,所以当链表长度超过某一个值时候将用红黑树代替链表进行存储,采用了数组+链表+红黑树的结构......
2022-08-13 16:29:46
2973
1
原创 JDK1.8之前与之后 HashMap底层实现原理的差别
hashmap的概述HashMap 基于哈希表的 Map 接口实现,是以 key-value 存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的 key、value 都可以为 null,此外,HashMap中的映射不是有序的。jdk1.8 之前 HashMap 由 数组 + 链表 组成,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突(两个对象调用的hashCode 方法计算的哈希值经哈希函数算出来的地址被别的元素占用)而存在的(“拉链法”
2022-08-12 17:50:07
1053
1
原创 【编程题 】抄送列表(详细注释 易懂)
NowCoder每天要处理许多邮件,但他并不是在收件人列表中,有时候只是被抄送。他认为这些抄送的邮件重要性比自己在收件人列表里的邮件低,因此他要过滤掉这些次要的邮件,优先处理重要的邮件。现在给你一串抄送列表,请你判断目标用户是否在抄送列表中。...
2022-08-06 23:33:38
292
原创 【编程题 】年会抽奖(详细注释 易懂)
今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:1. 首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;2. 待所有字条加入完毕,每人从箱中取一个字条;3. 如果抽到的字条上写的就是自己的名字,那么“恭喜你,中奖了!”现在告诉你参加晚会的人数,请你计算有多少概率会出现无人获奖?...
2022-08-06 23:12:27
657
原创 【编程题 】猴子分桃 (详细注释 易懂)
老猴子辛苦了一辈子,给那群小猴子们留下了一笔巨大的财富——一大堆桃子。老猴子决定把这些桃子分给小猴子。第一个猴子来了,它把桃子分成五堆,五堆一样多,但还多出一个。它把剩下的一个留给老猴子,自己拿走其中的一堆。第二个猴子来了,它把桃子分成五堆,五堆一样多,但又多出一个。它把多出的一个留给老猴子,自己拿走其中的一堆。后来的小猴子都如此照办。最后剩下的桃子全部留给老猴子。这里有n只小猴子,请你写个程序计算一下在开始时至少有多少个桃子,以及最后老猴子最少能得到几个桃子。...
2022-07-28 16:24:31
1451
原创 【编程题 】星际密码(详细注释 易懂)
星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。|1 1|^n => |Xn ..|...
2022-07-27 15:58:07
717
1
原创 【编程题 】数根(详细注释 易懂)
数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。再比如39,把3 和9 加起来得到12,由于12 不是一位数,因此还得把1 和2 加起来,最后得到3,这是一个一位数,因此3 是39 的数根。现在给你一个正整数,输出它的数根。......
2022-07-27 11:15:08
868
原创 【编程题 】Rational Arithmetic(详细注释 易懂)
For two rational numbers, your task is to implement the basic arithmetics, that is, to calculate their sum, difference,product and quotient.译文:对于两个有理数,你的任务是实现基本的算术运算,即计算它们的和、差,乘和商。.....................
2022-07-26 15:50:53
307
原创 【编程题 动态规划】HJ52 计算字符串的编辑距离(详细注释 易懂)
Levenshtein距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家 Levenshtein 提出的,故又叫 LevenshteinDistance 。.........
2022-07-24 15:48:37
752
原创 【编程题 动态规划 】JD1 年终奖 (详细注释 易懂)
小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],请返回能获得的最大价值,保证每个礼物价值大于100小于1000。...
2022-07-24 14:15:12
147
原创 【编程题 深度优先遍历 】HJ43 迷宫问题(详细注释 易懂)
定义一个二维数组 N*M ,它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。入口点为[0,0],既第一格是可以走的路。数据范围:2 ......
2022-07-24 13:50:22
1011
原创 【编程题 递归】Pre-Post(详细注释 易懂)
译文:我们都熟悉二叉树的前序、中序和后序遍历。在数据结构类中,一个常见的问题是在给定, 中序遍历和后序遍历,要求找到二叉树的前序遍历。或者,如果给定了中序遍历和前序遍历,找到后序遍历。然而,通常情况下,当给定树的前序遍历和后序遍历时,你无法确定树的中序遍历。考虑下面的四棵二叉树:所有这些树都具有相同的前序和后序遍历。这种现象不仅适用于二叉树,也适用于一般的m叉树。.........
2022-07-22 17:28:13
935
原创 【编程题 】WY24 洗牌(详细注释 易懂)
洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起来就可以了。 例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组,左手拿着1,2,3;右手拿着
2022-07-20 19:49:55
240
原创 【编程题 】HJ64 MP3光标位置(详细注释 易懂)
MP3Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。
2022-07-20 17:14:05
419
原创 【编程题 】数据库连接池(详细注释 易懂)
Web系统通常会频繁地访问数据库,如果每次访问都创建新连接,性能会很差。为了提高性能,架构师决定复用已经创建的连接。当收到请求,并且连接池中没有剩余可用的连接时,系统会创建一个新连接,当请求处理完成时该连接会被放入连接池中,供后续请求使用。...
2022-07-19 16:12:30
255
原创 【编程题 】mkdir(详细注释 易懂)
工作中,每当要部署一台新机器的时候,就意味着有一堆目录需要创建。例如要创建目录“/usr/local/bin”,就需要此次创建“/usr”、“/usr/local”以及“/usr/local/bin”。好在,Linux下mkdir提供了强大的“-p”选项,只要一条命令“mkdir -p /usr/local/bin”就能自动创建需要的上级目录。现在给你一些需要创建的文件夹目录,请你帮忙生成相应的“mkdir -p”命令。...
2022-07-19 11:15:23
590
原创 【编程题 字符串匹配 or 动态规划】HJ65 查找两个字符串a,b中的最长公共子串(详细注释 易懂)
查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。请和“子序列”的概念分开!............
2022-07-18 17:16:25
644
原创 【编程题 动态规划】HJ71 字符串通配符(详细注释 易懂)
在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(注:能被*和?匹配的字符仅由英文字母和数字0到9组成,下同)?:匹配1个字符注意:匹配时不区分大小写。............
2022-07-17 19:53:47
1493
原创 [编程题 深度优先遍历] 红与黑 (详细注释 易懂)
有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的(上下左右四个方向)黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。......
2022-07-16 15:11:45
343
原创 【编程题 动态规划】BD4 蘑菇阵(详细注释 易懂)
现在有两个好友A和B,住在一片长有蘑菇的由n*m个方格组成的草地,A在(1,1),B在(n,m)。现在A想要拜访B,由于她只想去B的家,所以每次她只会走(i,j+1)或(i+1,j)这样的路线,在草地上有k个蘑菇种在格子里(多个蘑菇可能在同一方格),问:A如果每一步随机选择的话(若她在边界上,则只有一种选择),那么她不碰到蘑菇走到B的家的概率是多少?............
2022-07-15 19:59:33
231
原创 【编程题 动态规划】最长公共子序列(详细注释 易懂)
我们有两个字符串m和n,如果它们的子串a和b内容相同,则称a和b是m和n的公共子序列。子串中的字符不一定在原字符串中连续。例如字符串“abcfbc”和“abfcab”,其中“abc”同时出现在两个字符串中,因此“abc”是它们的公共子序列。此外,“ab”、“af”等都是它们的字串。现在给你两个任意字符串(不包含空格),请帮忙计算它们的最长公共子序列的长度。............
2022-07-13 16:28:00
731
原创 【编程题】字符串计数(详细注释 易懂)
求字典序在 s1 和 s2 之间的,长度在 len1 到 len2 的字符串的个数,结果 mod 1000007。
2022-07-12 18:53:30
462
原创 【编程题 动态规划】#最长上升子序列(三)#(详细注释 易懂)
给定数组 arr ,设长度为 n ,输出 arr 的最长上升子序列。(如果有多个答案,请输出其中> 按数值(注:区别于按单个字符的ASCII码值)进行比较的 字典序最小的那个)
2022-07-11 15:44:31
555
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人