自定义博客皮肤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 的博客

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

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

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

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

2020-06-08 22:20:55 269

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

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

2020-06-08 22:06:57 205

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

对称遍历

2020-06-08 21:57:16 232

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

约瑟夫环

2020-06-08 15:19:49 143

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

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

2020-06-07 18:15:04 148

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

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

2020-06-07 17:10:35 130

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

维持一个单调双端队列。

2020-06-06 20:24:13 237

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

单调的双端队列!!!

2020-06-06 20:04:22 360

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

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

2020-06-06 18:02:58 203

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

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

2020-06-06 17:14:24 196

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

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

2020-06-06 15:41:15 202

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

滑动窗口框架

2020-06-06 14:36:32 1177

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

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

2020-06-06 12:27:46 165

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

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

2020-06-05 22:31:15 302

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

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

2020-06-05 22:18:42 156

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

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

2020-06-05 22:09:53 220

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

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

2020-06-05 20:05:39 122

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

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

2020-06-05 19:57:15 100

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

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

2020-06-05 19:04:04 160

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

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

2020-06-05 18:56:38 156

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

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

2020-06-05 18:49:44 587

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

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

2020-06-05 18:45:52 103

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

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

2020-06-05 18:37:42 177

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

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

2020-06-05 18:28:56 94

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

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

2020-06-05 18:16:04 88

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

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

2020-06-05 18:08:22 220

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

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

2020-06-05 18:01:49 181

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

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

2020-06-05 17:36:04 192

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

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

2020-06-04 20:54:09 1239

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

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

2020-06-04 18:43:46 233

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

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

2020-06-04 17:24:27 152

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

使用两次二分法

2020-06-04 16:51:16 177

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

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

2020-06-04 14:59:33 133

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

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

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

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

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

2020-06-03 20:36:18 153

原创 剑指Offer 面试题40. 最小的k个数(Java代码)

快速选择的应用,多回顾,经典题

2020-06-03 18:57:31 200

原创 剑指Offer 面试题43. 1~n整数中1出现的次数(Java代码)

暴力法会超时。找规律:固定数字的一位,如果该位数字是1的情况,是0的情况,是其它的情况。分析清楚

2020-06-03 18:34:09 112

原创 剑指Offer 面试题42. 连续子数组的最大和(Java代码)

贪心策略:遍历每一个元素的时候,将上一次计算结果为增益的保留。否则,将上一次计算结果置为当前元素值。

2020-06-03 18:05:58 81

原创 剑指Offer 面试题39. 数组中出现次数超过一半的数字(Java代码)

1. 使用HashMap解题2. 将数组排序,然后解题3. 使用摩尔投票法摩尔投票法,理解!

2020-06-02 22:29:29 127

原创 nowcoder 连续子数组的最大和(Java代码)

上一次累加的结果,对此次累加是属于(增益)还是(减益)

2020-06-02 21:06:27 96

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关注的人

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