自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(348)
  • 资源 (2)
  • 收藏
  • 关注

原创 【面试题59 - II. 队列的最大值】(普通队列)

刚开始用了优先队列PriorityQueue,在一组测试样例中过不了,输出总是[], [], [], [], [], [], [], 16, [], 22,正确答案应该是[], [], [], [], [], [], [], 96, [], 16。经过调试,终于想起了,这是优先队列,默认将队列按照升序排列,而此题应该使用普通队列。

2022-11-06 20:51:56 173

原创 【面试题13. 机器人的运动范围】(回溯)

这道题说的不清楚,其实包含一个隐含条件:不可达的方格相当于障碍物,不能通过不可达的方格到达别的符合条件的方格。如这个图中,上面那块符合条件的方格是可达的,但是无法到达下面符合条件的区域。

2022-11-06 16:44:07 153

原创 【剑指 Offer 68 - II. 二叉树的最近公共祖先】(同上一题一样)

思路和代码和上一题相同。

2022-11-06 15:38:12 258

原创 【剑指 Offer 68 - I. 二叉搜索树的最近公共祖先】

如果节点c为目标节点之一,且c.right及其子树中包含另一个目标节点,那么c是最近公共祖先;如果节点c为目标节点之一,且c.left及其子树中包含另一个目标节点,那么c是最近公共祖先;如果c的左右子树中都包含目标节点,那么c是最近公共祖先。

2022-11-06 15:34:19 102

原创 【剑指 Offer 67. 把字符串转换成整数】(有限状态机)

能挣扎一下,但不多(大哭……

2022-11-06 14:59:02 112

原创 【剑指 Offer 66. 构建乘积数组】(很巧妙)

左边和右边分别乘起来,最后两者再相乘。

2022-11-01 20:03:11 58

原创 【剑指 Offer 65. 不用加减乘除做加法】(位运算)

【代码】【剑指 Offer 65. 不用加减乘除做加法】(位运算)

2022-10-30 19:25:58 68

原创 【剑指 Offer 64. 求1+2+…+n】(递归代替循环)

不能用循环,可以使用递归。

2022-10-30 19:16:49 54

原创 【剑指 Offer 63. 股票的最大利润】

双重循环,向前查找如果有利润大于当前最大利润的,记录下来。

2022-10-30 19:15:18 60

原创 【剑指 Offer 62. 圆圈中最后剩下的数字】(递归)

暴力法,超出时间限制。

2022-10-30 18:54:19 59

原创 【剑指 Offer 61. 扑克牌中的顺子】

先对数组进行排序,计算0的个数为cnt0。从非0数开始计算,如果有两个相邻的数相等,必然不能构成顺子;如果相邻的两个数相差不为1,累加缺少的排的数量diffe。如果diffe为0,意味着不缺少排,或者cnt0>diffe,即0牌的数大于缺少的数量,则返回TRUE。

2022-10-30 15:26:42 90

原创 【剑指 Offer 60. n个骰子的点数】(深搜 / 动态规划)

首先想到用深搜穷举所有可能的组合,然后计算每个点数出现的概率。(我好喜欢用深搜,然而好几次深搜只能通过部分测试样例,要快速排序才能完全解决问题)

2022-10-30 11:14:00 75

原创 【剑指 Offer 59 - I. 滑动窗口的最大值】(优先队列)

暴力法,超出时间限制。

2022-10-26 20:41:00 55

原创 【剑指 Offer 58 - II. 左旋转字符串】(substring截取字符串)

分别截取0-k, k-len的字符串,并重新组合。

2022-10-25 22:33:28 55

原创 【剑指 Offer 58 - I. 翻转单词顺序】(split字符串分割)

对字符串按照“ ”进行分割,并将分割得到的数组倒序输出返回。

2022-10-25 21:03:10 58

原创 【剑指 Offer 57 - II. 和为s的连续正数序列】(list转int[])

设置两个指针i,j < target,如果i,j之间的数字之和等于target则加入该数据。

2022-10-25 18:52:38 59

原创 【剑指 Offer 57. 和为s的两个数字】

设置两个指针i,j,分别指向数组左右两端,如果nums[i] + nums[j] > target,j指针向左移动;反之i指针向右移动,直到 nums[i] + nums[j] = target。

2022-10-22 14:33:27 58

原创 【剑指 Offer 56 - II. 数组中数字出现的次数 II】

没有时间、空间复杂度的要求,那就用双重循环吧。

2022-10-22 14:02:46 71

原创 【剑指 Offer 56 - I. 数组中数字出现的次数】

将每个数字出现的次数统计在map中,将出现一次的数字返回。

2022-10-22 13:39:43 59

原创 【剑指 Offer 55 - II. 平衡二叉树】

一个节点的左右节点都是平衡二叉树,且左右节点的深度差不大于1,这个节点开始的树即为平衡二叉树。如果一个二叉树的每个节点开始的树都是平衡二叉树,这棵树就是平衡二叉树。

2022-10-22 12:38:23 54

原创 【剑指 Offer 55 - I. 二叉树的深度】(递归)

一个节点的深度等于它的左子树的最大深度和右子树的最大深度的最大值,再加上1。

2022-10-22 12:19:03 74

原创 【剑指 Offer 51. 数组中的逆序对】(归并排序)

【代码】【剑指 Offer 51. 数组中的逆序对】(归并排序)

2022-10-19 19:31:24 40

原创 【剑指 Offer 50. 第一个只出现一次的字符】

在alist中存放第一次出现的字符,在blist中存放出现大于一次的字符。最后返回alist中第一个字符即可。第一次使用HashMap存放出现一次的字符,调试发现在HashMap中,Key并不是按照存放先后顺序存储的,无法判断哪个是最先出现的。

2022-10-18 20:14:32 41

原创 【剑指 Offer 49. 丑数】(动态规划)

【代码】【剑指 Offer 49. 丑数】(动态规划)

2022-10-18 19:26:57 43

原创 【剑指 Offer 48. 最长不含重复字符的子字符串】

对每一个位置的字符,向前查询不重复的最大长度,并记录。最后比较得到全局最大不重复字符长度。

2022-10-17 19:02:29 29

原创 【剑指 Offer 47. 礼物的最大价值】(动态规划 / 深度优先搜索)

要想提高运行效率,想到了使用动态规划。即每一个位置的最大值,等于它上边和左边中最大的数,再加上它的值。为了方便计算,构造maxValue[m+1][n+1], 其中maxValue[i][j]对应grid[i-1][j-1]。通过了部分测试用例,超出时间限制。

2022-10-17 18:43:51 63

原创 【剑指 Offer 46. 把数字翻译成字符串】(深度优先搜索)

能翻译成字母的数字只能是0~25,如果当前数字和下一个数字组合小于26,那么它们可以按照两个字母翻译,也可以按照一个字母翻译。

2022-10-16 19:15:51 81

原创 【剑指 Offer 44. 数字序列中某一位的数字】(数学 / 算法)

【代码】【剑指 Offer 44. 数字序列中某一位的数字】

2022-10-16 18:03:47 44

原创 【剑指 Offer 45. 把数组排成最小的数】(String按照字典序比较大小)

将int[ ]数组转为String[ ]数组,再将String数组按照组合的字典序排序。

2022-10-16 17:10:24 58

原创 【剑指 Offer 43. 1~n 整数中 1 出现的次数】(算法)

首先想到的是,将从1到n的数,每一个都转为字符串,数出其中1的个数,但是在测试用例:824883294中超出时间限制。

2022-10-11 19:58:24 54

原创 【剑指 Offer 42. 连续子数组的最大和】(动态规划)

最大是子数组和是前一个最大子数组和与当前数字中较大的值。

2022-10-10 18:33:21 166

原创 【剑指 Offer 41. 数据流中的中位数】(ArrayList数组排序)

设置一个动态数组,可以随时插入新的值。对数组进行排序后,可以计算中位数。

2022-10-09 19:58:30 75

原创 【剑指 Offer 40. 最小的k个数】

新建一个长度为k的数组ans,将数组arr的前k个数字加入到ans中。后面没遍历arr中的一个数字,找到当前ans中最大的数字,如果arr[i]小于ans中最大的数字,则替换掉。最终ans中的k个数字即为arr中最小的k各数。

2022-10-09 19:43:20 32

原创 【剑指 Offer 39. 数组中出现次数超过一半的数字】(HashMap)

统计数组中所有数字出现的次数,在所有数字中找到出现次数大于数组长度一半的数字。

2022-10-09 19:29:02 42

原创 【StringBuffer】

【StringBuffer】的基本用法

2022-10-09 17:02:28 623

原创 【剑指 Offer 38. 字符串的排列】(回溯 / 字符串的全排列 / 剪枝)

提交发现超过时间限制,而在本地,这个测试样例可以运行成功。

2022-10-09 11:25:02 41

原创 【剑指 Offer 37. 序列化二叉树】(字符串分割 / 深搜 / List移除元素)

【代码】【剑指 Offer 37. 序列化二叉树】(字符串分割 / 深搜 / List移除元素)

2022-10-08 20:04:38 38

原创 【剑指 Offer 36. 二叉搜索树与双向链表】

首先对二叉树中的节点进行中序遍历,将节点的数据存储在顺序列表list中。然后将顺序列表中的数据按照单向链表的形式组织起来,最后将单向链表连接为双向链表。

2022-10-08 19:26:17 123

原创 【剑指 Offer 35. 复杂链表的复制】

第一遍遍历链表,新建一条常规链表;第二次遍历找到需要找的random节点,并绑定在新链表上。

2022-10-08 19:01:14 80

原创 【剑指 Offer 34. 二叉树中和为某一值的路径】(深度优先搜索)

刚开始的代码中,直接使用ans.add(list),运行结果是错误的。单步调试发现在list递归回上一层以后,删掉list末尾的节点,ans中添加的list也随之删掉末尾的节点。这是因为list、newlist,以及ans中的list均指向同一片内存。为了解决这个问题,在添加的时候,每次都要new一个新的list。使用深搜的方法,查找到叶节点(左子树、右子树都为空),判断此时路径上各个节点的和是否等于target,如果等于,将路径(list)加入到ans中。

2022-09-30 15:44:54 129

WindowsFormsApp_library.rar

数据库图书管理系统代码,共21个界面,包括登录界面、用户界面、查询图书、查询用户信息管理、创建卡号、管理员界面、管理员确认界面、还书界面、借书界面、续借界面、逾期罚款界面、删除图书界面、新增图书界面、教师信息修改、学生信息修改、审核借阅、审核归还、新增图书、修改书籍信息、注销卡号等。配合图书管理系统设计文档食用更香~~~~

2020-05-04

图书管理系统设计.pdf

完整的数据库设计文档,包括编写说明、任务概述、运行环境、需求分析、数据流图、数据字典、概念结构设计、数据库逻辑结构设计、数据库表结构、功能实现等。

2020-05-04

空空如也

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

TA关注的人

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