![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
iNiegang
这个作者很懒,什么都没留下…
展开
-
Java 递归和非递归实现二叉树的前序、中序、后序遍历
二叉树的遍历是非常重要的基础算法,今天闲来无事,对二叉树的前序、中序、后序遍历使用递归和非递归进行了一个实现。构造一个有9个节点的二叉树,如下具体代码实现如下public class BinaryTree { private static class Tree { private Integer value; private Tree leftNode; private Tree rightNode; } ..原创 2021-04-18 22:42:37 · 226 阅读 · 0 评论 -
【练题记录】leetcode 289. 生命游戏
问题描述给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活;如果活细胞周围...原创 2020-04-05 21:57:05 · 268 阅读 · 0 评论 -
【练题记录】leetcode 4. 寻找两个有序数组的中位数
问题描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2...原创 2020-02-02 18:12:27 · 195 阅读 · 0 评论 -
【练题记录】Java实现快速排序
在十大经典排序算法中,快排的应用场景非常多,因此掌握快排的思想和实现是非常重要的。本文以将一个数组从小到大排序为例来讲解快排十大经典排序算法比较快排的基本流程1、选择一个中轴pivot2、将比pivot大的元素放到其右边3、将比pivot小的元素放到其左边4、分别对左右列表元素按照前三步进行递归5、递归的终止条件为元素列表的左下标≥右下标代码实现public cla...原创 2020-01-31 18:03:57 · 181 阅读 · 0 评论 -
【练题记录】leetcode 1091 二进制矩阵中的最短路径
问题描述在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1)。一条从左上角到右下角、长度为 k 的畅通路径,由满足下述条件的单元格 C_1, C_2, …, C_k 组成:相邻单元格 C_i 和 C_{i+1} 在八个方向之一上连通(此时,C_i 和 C_{i+1} 不同且共享边或角)C_1 位于 (0, 0)(即,值为 grid[0][0])C_k 位于 (N...原创 2020-01-30 22:55:14 · 328 阅读 · 0 评论 -
非递归实现广度优先遍历(BFS)
对于广度优先遍历,使用递归方式实现非常普遍,这里我们讨论一下如何使用非递归来实现算法1、以图的邻接矩阵为例2、使用一个queue来保存访问顺序,每次取队首元素,如果其有邻接点,则将其所有邻接点入队,并设置visit数组为1,最后再将其出队3、循环结束条件为:队列为空代码实现以下图为例public class BfsIterateAdjacentMatrix { ...原创 2020-01-30 17:44:29 · 1849 阅读 · 0 评论 -
非递归实现深度优先遍历(DFS)
对于深度优先遍历,使用递归实现是非常普遍的,但是递归算法往往比较难以理解,如果递归终止条件设置不好的话,容易出现死循环。我们来看看通过非递归方式如何实现深度优先遍历算法1、以图的邻接矩阵为例2、使用一个stack来保存要访问的节点,每次都获取栈顶元素,然后遍历其对应的邻接点,如果遇到一个没有访问过的邻接点,则终止对其他邻接点的遍历,将该邻接点入栈,并进行下一轮循环,直到该元素的邻接...原创 2020-01-30 12:52:01 · 6839 阅读 · 0 评论 -
Leetcode 885螺旋矩阵Ⅲ
问题描述在 R 行 C 列的矩阵上,我们从 (r0, c0) 面朝东面开始这里,网格的西北角位于第一行第一列,网格的东南角位于最后一行最后一列。现在,我们以顺时针按螺旋状行走,访问此网格中的每个位置。每当我们移动到网格的边界之外时,我们会继续在网格之外行走(但稍后可能会返回到网格边界)。最终,我们到过网格的所有 R * C 个空间。按照访问顺序返回表示网格位置的坐标列表。示例 1:...原创 2020-01-29 11:49:44 · 232 阅读 · 0 评论 -
LeetCode 1314 矩阵区域和
问题描述给你一个 m * n 的矩阵 mat 和一个整数 K ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和:i - K <= r <= i + K, j - K <= c <= j + K(r, c) 在矩阵内。示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]...原创 2020-01-28 19:10:52 · 534 阅读 · 0 评论 -
leetcode 542 01矩阵问题
问题描述给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。示例 1:输入:0 0 00 1 00 0 0输出:0 0 00 1 00 0 0示例 2:输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1注意:给定矩阵的元素个数不超过 10000。给定矩阵中至少有一个元素是 0。矩阵...原创 2020-01-28 16:34:21 · 469 阅读 · 0 评论 -
Longest Common Prefix 解题记
在LeetCode上看到了一道标记为easy的题目,题目如下 Write a function to find the longest common prefix string amongst an array of strings. 题目分析题目描述非常简单,就是要求找出字符串数组的最大公共前缀。 1、做OJ的条件反射应该是首先考虑异常输入情况,即字符串数组为null或者长度为原创 2017-07-09 19:16:04 · 415 阅读 · 0 评论 -
关于JAVA 8 是否需要StringBuilder来拼接字符串的思考
关于JAVA 8 是否需要StringBuilder来拼接字符串的思考最近看到一片文章说JAVA 8已经不需要使用StringBuilder来拼接字符串了,使用+的效率也会非常高,文章链接 http://www.codeceo.com/article/why-java8-not-use-stringbuilder.html 本篇博文就对该文章的说法进行一个讨论原创 2017-05-29 20:12:58 · 1604 阅读 · 1 评论 -
CCF 竞价集合 Java实现
CCF 竞价集合题目 Java实现原创 2015-07-23 16:13:19 · 2804 阅读 · 20 评论 -
Java实现双向链表
上一篇文章http://blog.csdn.net/iniegang/article/details/48932261已经对循环单链表进行了具体实现,对于双向链表,实现起来也非常类似,但是需要注意的是每个节点(除了头尾)都要分别指向它的前驱节点和后继节点。原创 2015-10-06 20:35:21 · 706 阅读 · 0 评论 -
Java实现循环单链表……
相比于C和C++,Java中没有了“结构”,因此就要使用类来描述“结构”,同样的,在实现链表时,就可以使用类来定义节点,然后进行相应的操作,以下是我实现循环单链表的代码,循环单链表和单链表的区别在于最后一个节点的判断,整体不难……原创 2015-10-06 16:31:09 · 5479 阅读 · 0 评论 -
Java中子类继承父类方法应该注意的问题
Java中子类继承父类方法应该注意的问题原创 2015-09-29 21:17:44 · 1419 阅读 · 0 评论 -
查找组成一个偶数最接近的两个素数 Java实现
华为OJ 查找组成一个偶数最接近的两个素数原创 2015-09-07 22:11:43 · 1677 阅读 · 0 评论 -
eclipse下安装tomcat以及可能遇到的404问题
eclipse下安装tomcat以及可能遇到的404问题原创 2015-07-28 20:11:52 · 798 阅读 · 0 评论 -
Windows下安装Java
Windows下安装Java原创 2015-07-28 11:47:11 · 5604 阅读 · 0 评论 -
找出字符串中第一个只出现一次的字符
找出字符串中第一个只出现一次的字符 华为OJ原创 2015-08-30 15:16:27 · 864 阅读 · 0 评论 -
最长递增子序列 LIS 时间复杂度O(nlogn)的Java实现
求最长递增(递减)子序列 LIS时间复杂度O(nlogn)的Java实现...原创 2015-08-15 13:20:35 · 3493 阅读 · 0 评论 -
称砝码 动态规划
称砝码 动态规划 华为OJ java语言原创 2015-08-29 15:43:29 · 2500 阅读 · 0 评论 -
合唱队数 java实现
华为OJ 合唱队数 java实现原创 2015-08-15 21:53:05 · 3695 阅读 · 0 评论 -
CCF 窗口 Java实现
CCF 窗口 Java实现原创 2015-07-23 22:57:46 · 2446 阅读 · 0 评论 -
名字漂亮度
这是一道坑爹的题目——华为OJ 名字漂亮度原创 2015-08-16 23:51:17 · 2235 阅读 · 3 评论 -
DNA序列 Java
华为OJ DNA序列 Java原创 2015-09-01 11:14:06 · 1138 阅读 · 0 评论 -
十进制转换为十二进制 Java
十进制转换为十二进制 Java原创 2015-09-01 11:18:06 · 6514 阅读 · 0 评论 -
字符串加解密
华为OJ 字符串加解密 Java原创 2015-08-18 14:57:10 · 1705 阅读 · 0 评论 -
人民币小写转换为大写
人民币小写转换大写 java原创 2015-08-19 23:32:37 · 1137 阅读 · 0 评论 -
命令行选项 CCF
命令行选项 CCF java实现原创 2015-08-02 21:44:11 · 2929 阅读 · 0 评论 -
Java中字符串转数组
Java字符串转数组原创 2015-07-26 19:02:30 · 3416 阅读 · 0 评论