自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

r'q'x't 的博客

创新、机遇、积极、发散、逆向、联想、质疑、冷门、放弃、灵感、辩证、转换

  • 博客(118)
  • 资源 (3)
  • 收藏
  • 关注

原创 千奇百怪的排序算法(Java 代码)

几种常用的排序算法,Java实现。

2020-05-15 22:57:08 151

原创 LeetCode 刷题常用数据结构(Java 中的实现)

记录常用数据结构(栈、队列、数组、列表、字符串、集合等),在 Java 中如何使用它的实现类。

2020-05-15 16:47:04 1945 1

原创 LeetCode 算法刷题框架

托二叉树针对 BST 的遍历框架二叉树针对 BST 的遍历框架void BST(TreeNode root, int target) { if (root.val == target) // 找到⽬标,做点什么 if (root.val < target) BST(root.right, target); // 剪枝 if (root.val > target) BST(root.left, target); // 剪枝}...

2020-05-15 09:57:16 138

原创 LeetCode(力扣) 刷题注意事项 持续更新 ~ ~

记录走过的坑

2020-05-14 13:13:32 6482

原创 层次遍历的递归实现 Java

定义一个全局的二维列表。二维列表的索引就是该元素所位于的层数。例如:索引 0,代表位于第0层(即根节点所在层)。递归的时候,多加一个参数(当前层+1)即可。

2020-05-13 21:50:15 2596

原创 剑指Offer 面试题63. 股票的最大利润(Java代码)

从左到右遍历数组。及时更新最小值,每次都计算res利润

2020-06-08 22:20:55 257

原创 剑指Offer 面试题65. 不用加减乘除做加法(Java代码)

使用位运算。通过&运算得到需要进位的位,通过<<1移动需要进位的位。通过^运算将相同的1位变为0(去除需要进位的位)

2020-06-08 22:06:57 187

原创 剑指Offer 面试题66. 构建乘积数组(Java代码)

对称遍历

2020-06-08 21:57:16 212

原创 剑指Offer 面试题62. 圆圈中最后剩下的数字(Java代码)

约瑟夫环

2020-06-08 15:19:49 135

原创 剑指Offer 面试题61. 扑克牌中的顺子(Java代码)

求得数组的最大值和最小值。一旦最大最小值的差值达到阈值,就无法拯救了

2020-06-07 18:15:04 136

原创 剑指Offer 面试题60. n个骰子的点数(Java代码)

动态规划,n个骰子的结果可以由n-1个骰子的结果和 1个骰子的结果导出

2020-06-07 17:10:35 120

原创 剑指Offer 面试题59 - II. 队列的最大值(Java代码)

维持一个单调双端队列。

2020-06-06 20:24:13 195

原创 剑指Offer 面试题59 - I. 滑动窗口的最大值(Java代码)

单调的双端队列!!!

2020-06-06 20:04:22 219

原创 剑指Offer 面试题58 - II. 左旋转字符串(Java代码)

使用系统函数substring;或者选择分段遍历字符串;

2020-06-06 18:02:58 195

原创 剑指Offer 面试题58 - I. 翻转单词顺序(Java代码)

使用栈;或者使用双指针(推荐)

2020-06-06 17:14:24 156

原创 剑指Offer 面试题57 - II. 和为s的连续正数序列(Java代码)

连续的序列可以看作一个递增的序列,由此可以使用双指针。(滑动窗口;找规律)

2020-06-06 15:41:15 188

原创 滑动窗口模板(Java代码)

滑动窗口框架

2020-06-06 14:36:32 1144

原创 剑指Offer 面试题57. 和为s的两个数字(Java代码)

排序数组问题,使用双指针(边界指针)

2020-06-06 12:27:46 157

原创 剑指Offer 面试题55 - II. 平衡二叉树(Java代码)

实质还是需要求 二叉树的左右子树深度

2020-06-05 22:31:15 180

原创 剑指Offer 面试题55 - I. 二叉树的深度(Java代码)

需要递归得到左右子树的高度并进行比较,所以可以使用后序遍历

2020-06-05 22:18:42 141

原创 剑指Offer 面试题54. 二叉搜索树的第k大节点(Java代码)

二叉搜索树的中序遍历(left->root->right)是有序且递增的。对中序遍历稍加改变,==>(right->root->left)先遍历right再left,这样可以得到一个有序且递减的序列。

2020-06-05 22:09:53 116

原创 LeetCode 225. 用队列实现栈(Java代码)

使用一个队列即可,入队列的时候,将原先队列中的元素重新入队列。这样最近入队列的元素,被放在了第一个。 LIFO(后入先出)

2020-06-05 20:05:39 111

原创 LeetCode 232. 用栈实现队列(Java代码)

使用两个栈,一个专门用来push元素,一个专门用来pop元素

2020-06-05 19:57:15 92

原创 LeetCode 494. 目标和(Java代码)

使用递归,递归所有的情况,比较暴力

2020-06-05 19:04:04 139

原创 LeetCode 133. 克隆图(Java代码)

跟复杂链表的复制有点类似,解决方法差不多:使用一个哈希表存储 (旧节点:新节点)的映射。只不过这里使用的不是链表的直接遍历,而是深度优先搜索遍历方法。

2020-06-05 18:56:38 140

转载 (DFS)深度优先搜索模板(Java代码)

DFS深度优先搜索,递归的时候这个模板很有用

2020-06-05 18:49:44 571

原创 LeetCode 150. 逆波兰表达式求值(Java代码)

这就是后缀表达式求值,需要注意频繁对字符串转换成数字比较耗费时间。

2020-06-05 18:45:52 92

原创 LeetCode 739. 每日温度(Java代码)

后处理使用栈,满足一定条件的时候,可以将之前的元素弹出栈并处理

2020-06-05 18:37:42 149

原创 LeetCode 20. 有效的括号(Java代码)

如果需要后处理的话,使用栈是一个不错的选择。

2020-06-05 18:28:56 85

原创 LeetCode 155. 最小栈(Java代码)

注意题目的要求,不需要考虑会从空栈中pop元素

2020-06-05 18:16:04 77

原创 LeetCode 279. 完全平方数(Java代码)

使用队列完成广度优先搜索,并且需要去重。

2020-06-05 18:08:22 203

原创 LeetCode 752. 打开转盘锁(Java代码)

广度优先搜索,需要去除重复的选择

2020-06-05 18:01:49 146

原创 LeetCode 200. 岛屿数量(Java代码)

广度优先搜索通过队列实现,但是无法提供剪枝操作。深度优先搜索,通过递归实现,可以使用剪枝操作

2020-06-05 17:36:04 177

转载 (BFS)广度优先搜索模板 (Java代码)

一套 BFS 算法框架,见到 BFS 直接套

2020-06-04 20:54:09 1179

原创 LeetCode 622. 设计循环队列(Java代码)

多使用一个变量 size 记录队列中元素的个数,可以让逻辑更加简单

2020-06-04 18:43:46 210

原创 剑指Offer 面试题53 - II. 0~n-1中缺失的数字(Java代码)

使用二分法,二分法的条件判断语句可以变化。但是需要仔细分析条件语句中的区间情况。

2020-06-04 17:24:27 139

原创 剑指Offer 面试题53 - I. 在排序数组中查找数字 I(Java代码)

使用两次二分法

2020-06-04 16:51:16 157

原创 剑指Offer 面试题52. 两个链表的第一个公共节点(Java代码)

将链表裁剪掉一段,或者一个链表遍历到头了去遍历另一个链表

2020-06-04 14:59:33 125

原创 剑指Offer 面试题50. 第一个只出现一次的字符(Java代码)

使用 256长度的 int数组当做计数器

2020-06-04 14:35:37 181 1

原创 剑指Offer 面试题45. 把数组排成最小的数(Java代码)

数字转换成字符串,字符串比较的方式 (A+B).compareTo(B+A)

2020-06-03 20:36:18 135

JavaScript网页计算器-栈实现.html

使用 JavaScript 写的网页版计算器。可以很好的完成加减乘除,但是并没有括号提供使用。内部实现的话,主要基于入栈出栈,与大学算法书中的简易计算器原理一致。

2020-05-18

Prime.java 计算一亿以内素数的个数

暴力法 | 暴力法优化(取中间数)|暴力法优化(取平方根)|埃氏筛法|未知算法。五种算法的效率依次递增。在同一个Prime.java文件中都可以测试。

2020-05-11

模拟电梯(可执行 jar 包和源代码).zip

一个有界面的电梯,搭载虚拟世界里的乘客上下楼。使用 Java 编写的模拟电梯程序。界面使用的是原生 Swing,没有其他依赖包。JDK版本要求: 1.8 及以上。

2020-05-10

空空如也

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

TA关注的人

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