自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 测试开发面经

关键词: 秋招 软件测试 软件测试开发 面经

2023-06-19 00:05:08 1639

原创 毕业实习FinalShell Hadoop Scala安装运行问题解决及避坑事项

虚拟机安装,Hadoop安装与配置,及IDEA运行scala项目的系列问题与解决方案,还有安装过程配置过程中的踩坑避免事项。

2023-03-19 10:36:08 1199 3

原创 工程伦理考试题

陕科大工程伦理考试题工程伦理备考

2022-11-10 17:01:20 2477

原创 【编程题 动态规划】兑换零钱(一)(详细注释 易懂)

给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。如果无解,请返回-1.数据范围:数组大小满足 0≤n≤10000, 数组中每个数字都满足 0

2022-08-22 09:09:16 902

原创 【编程题 动态规划】把数字翻译成字符串(详细注释 易懂)

有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。我们把一个字符串编码成一串数字,再考虑逆向编译成字符串。由于没有分隔符,数字编码成字母可能有多种编译结果,例如 11 既可以看做是两个 'a' 也可以看做是一个 'k' 。但 10 只可能是 'j' ,因为 0 不能编译成任何结果。现在给一串数字,返回有多少种可能的译码结果数据范围:字符串长度满足 0

2022-08-21 11:22:32 955

原创 【编程题 】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 572

原创 【编程题 】BM52 数组中只出现一次的两个数字(详细注释 易懂)

一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。数据范围:数组长度 2≤n≤1000,数组中每个数的大小 0

2022-08-19 15:13:16 237

原创 【编程题 】BM30 二叉搜索树与双向链表(详细注释 易懂)

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。注意:1.要求不能创建任何新的结点,只能调整树中结点指针的指向。当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继2.返回链表中的第一个节点的指针3.函数返回的TreeNode,有左右指针,其实可以看成一个双向链表的数据结构4.你不用输出双向链表,程序会根据你的返回值自动打印输出...

2022-08-17 14:09:01 257

原创 【编程题 】BM27 按之字形顺序打印二叉树(详细注释 易懂)

给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)数据范围:0 \le n \le 15000≤n≤1500,树上每个节点的val满足|val|

2022-08-17 10:26:12 160

原创 【编程题 递归+非递归】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 310

原创 【编程题 递归+非递归】BM24 二叉树的前序遍历(详细注释 易懂)

给你二叉树的根节点root,返回它节点值的前序遍历。数据范围:二叉树的节点数量满足0 \le n \le 100 \0≤n≤100,二叉树节点的值满足1 \le val \le 100 \1≤val≤100,树的各节点的值各不相同...

2022-08-16 22:54:44 366

原创 【编程题 递归+非递归】BM25 二叉树的后序遍历(详细注释 易懂)

给定一个二叉树,返回他的后序遍历的序列。后序遍历是值按照 左节点->右节点->根节点 的顺序的遍历。数据范围:二叉树的节点数量满足 0≤n≤100,二叉树节点的值满足 1≤val≤100,树的各节点的值各不相同...

2022-08-16 22:38:32 257

原创 【编程题 】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 544

原创 JDK1.8的ConcurrentHashMap底层实现解析

ConcurrentHashMap的特性concurrentHashMap跟Hashtable具有相同的功能方法。可以看作是Hashtable的升级版,HashMap的线程安全版。跟Hashtable相同,它的键或值不允许是null。ConcurrentHashMap和HashMap一样都是采用拉链法处理哈希冲突,且都为了防止单链表过长影响查询效率,所以当链表长度超过某一个值时候将用红黑树代替链表进行存储,采用了数组+链表+红黑树的结构......

2022-08-13 16:29:46 2754 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 904 1

原创 【编程题 】抄送列表(详细注释 易懂)

NowCoder每天要处理许多邮件,但他并不是在收件人列表中,有时候只是被抄送。他认为这些抄送的邮件重要性比自己在收件人列表里的邮件低,因此他要过滤掉这些次要的邮件,优先处理重要的邮件。现在给你一串抄送列表,请你判断目标用户是否在抄送列表中。...

2022-08-06 23:33:38 242

原创 【编程题 】年会抽奖(详细注释 易懂)

今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:1. 首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;2. 待所有字条加入完毕,每人从箱中取一个字条;3. 如果抽到的字条上写的就是自己的名字,那么“恭喜你,中奖了!”现在告诉你参加晚会的人数,请你计算有多少概率会出现无人获奖?...

2022-08-06 23:12:27 516

原创 【编程题 】不用加减乘除做加法 (详细注释 易懂)

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

2022-07-28 22:07:15 189

原创 【编程题 】三角形(详细注释 易懂)

给定三条边,请你判断一下能不能组成一个三角形。

2022-07-28 17:07:42 606

原创 【编程题 】 CD108 反转部分单向链表(详细注释 易懂)

给定一个单链表,在链表中把第L个节点到第 R 个节点这一部分进行反转。

2022-07-28 17:03:13 279

原创 【编程题 】猴子分桃 (详细注释 易懂)

老猴子辛苦了一辈子,给那群小猴子们留下了一笔巨大的财富——一大堆桃子。老猴子决定把这些桃子分给小猴子。第一个猴子来了,它把桃子分成五堆,五堆一样多,但还多出一个。它把剩下的一个留给老猴子,自己拿走其中的一堆。第二个猴子来了,它把桃子分成五堆,五堆一样多,但又多出一个。它把多出的一个留给老猴子,自己拿走其中的一堆。后来的小猴子都如此照办。最后剩下的桃子全部留给老猴子。这里有n只小猴子,请你写个程序计算一下在开始时至少有多少个桃子,以及最后老猴子最少能得到几个桃子。...

2022-07-28 16:24:31 1266

原创 【编程题 】星际密码(详细注释 易懂)

星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。|1 1|^n => |Xn ..|...

2022-07-27 15:58:07 604 1

原创 【编程题 】数根(详细注释 易懂)

数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。再比如39,把3 和9 加起来得到12,由于12 不是一位数,因此还得把1 和2 加起来,最后得到3,这是一个一位数,因此3 是39 的数根。现在给你一个正整数,输出它的数根。......

2022-07-27 11:15:08 691

原创 【编程题 】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 250

原创 【编程题 动态规划】HJ52 计算字符串的编辑距离(详细注释 易懂)

Levenshtein距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家 Levenshtein 提出的,故又叫 LevenshteinDistance 。.........

2022-07-24 15:48:37 608

原创 【编程题 动态规划 】JD1 年终奖 (详细注释 易懂)

小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],请返回能获得的最大价值,保证每个礼物价值大于100小于1000。...

2022-07-24 14:15:12 111

原创 【编程题 深度优先遍历 】HJ43 迷宫问题(详细注释 易懂)

定义一个二维数组 N*M ,它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。入口点为[0,0],既第一格是可以走的路。数据范围:2 ......

2022-07-24 13:50:22 742

原创 【编程题 递归】Pre-Post(详细注释 易懂)

译文:我们都熟悉二叉树的前序、中序和后序遍历。在数据结构类中,一个常见的问题是在给定, 中序遍历和后序遍历,要求找到二叉树的前序遍历。或者,如果给定了中序遍历和前序遍历,找到后序遍历。然而,通常情况下,当给定树的前序遍历和后序遍历时,你无法确定树的中序遍历。考虑下面的四棵二叉树:所有这些树都具有相同的前序和后序遍历。这种现象不仅适用于二叉树,也适用于一般的m叉树。.........

2022-07-22 17:28:13 779

原创 【编程题 】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 191

原创 【编程题 】HJ64 MP3光标位置(详细注释 易懂)

MP3Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。

2022-07-20 17:14:05 287

原创 【编程题 】数据库连接池(详细注释 易懂)

Web系统通常会频繁地访问数据库,如果每次访问都创建新连接,性能会很差。为了提高性能,架构师决定复用已经创建的连接。当收到请求,并且连接池中没有剩余可用的连接时,系统会创建一个新连接,当请求处理完成时该连接会被放入连接池中,供后续请求使用。...

2022-07-19 16:12:30 183

原创 【编程题 】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 548

原创 【编程题 字符串匹配 or 动态规划】HJ65 查找两个字符串a,b中的最长公共子串(详细注释 易懂)

查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。请和“子序列”的概念分开!............

2022-07-18 17:16:25 579

原创 【编程题 动态规划】HJ71 字符串通配符(详细注释 易懂)

在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(注:能被*和?匹配的字符仅由英文字母和数字0到9组成,下同)?:匹配1个字符注意:匹配时不区分大小写。............

2022-07-17 19:53:47 1317

原创 [编程题 深度优先遍历] 红与黑 (详细注释 易懂)

有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的(上下左右四个方向)黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。......

2022-07-16 15:11:45 256

原创 【编程题 动态规划】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 175

原创 【编程题 动态规划】最长公共子序列(详细注释 易懂)

我们有两个字符串m和n,如果它们的子串a和b内容相同,则称a和b是m和n的公共子序列。子串中的字符不一定在原字符串中连续。例如字符串“abcfbc”和“abfcab”,其中“abc”同时出现在两个字符串中,因此“abc”是它们的公共子序列。此外,“ab”、“af”等都是它们的字串。现在给你两个任意字符串(不包含空格),请帮忙计算它们的最长公共子序列的长度。............

2022-07-13 16:28:00 620

原创 【编程题】字符串计数(详细注释 易懂)

求字典序在 s1 和 s2 之间的,长度在 len1 到 len2 的字符串的个数,结果 mod 1000007。

2022-07-12 18:53:30 390

原创 【编程题 动态规划】#最长上升子序列(三)#(详细注释 易懂)

给定数组 arr ,设长度为 n ,输出 arr 的最长上升子序列。(如果有多个答案,请输出其中> 按数值(注:区别于按单个字符的ASCII码值)进行比较的 字典序最小的那个)

2022-07-11 15:44:31 354

原创 【编程题】五子棋(详细注释 易懂)

NowCoder最近爱上了五子棋,现在给你一个棋局,请你帮忙判断其中有没有五子连珠(超过五颗也算)

2022-07-08 19:33:45 330

空空如也

空空如也

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

TA关注的人

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