加载中
字符流中第一个不重复的字符

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符 "go" 时,第一个只出现一次的字符是 "g"。当从该字符流中读出前六个字符“google" 时,第一个只...

Go
2019/11/19 13:59
16
数字在排序数组中出现的次数

Input: nums = 1, 2, 3, 3, 3, 3, 4, 6 K = 3 Output: 4 二分查找的练习 public int GetNumberOfK(int[] nums, int K) { int first = binarySearch(nums, K); int last = binarySearch(nums...

2019/11/19 13:23
13
旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组...

2019/11/19 13:12
7
二叉树的深度

从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 public int TreeDepth(TreeNode root) { return root == null ? 0 : 1 + Math.max(TreeDepth...

2019/11/18 16:01
6
数据流中的中位数

参考:https://sunweiguo.github.io/2019/03/18/%E5%89%91%E6%8C%87offer/%E3%80%90%E9%9D%A2%E8%AF%95%E9%A2%9863-%E6%95%B0%E6%8D%AE%E6%B5%81%E4%B8%AD%E7%9A%84%E4%B8%AD%E4%BD%8D%E6%95...

2019/11/17 15:24
9
二叉搜索树的第 K 个节点

利用二叉查找树中序遍历有序的特点。 private TreeNode ret; private int cnt = 0; public TreeNode KthNode(TreeNode pRoot, int k) { inOrder(pRoot, k); return ret; } private void inOr...

2019/11/15 20:40
5
把二叉树打印出多行

和上题几乎一样。 ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> ret = new ArrayList<>(); Queue<TreeNode> queue = new LinkedList<>(); queue.a...

2019/11/15 16:38
9
包含 min 函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的 min 函数。 思路:利用两个栈,Data 栈和 Min 栈 压入过程中,min 栈随着 Data 栈一起增长。 如果压入一个 5 ,当前数和 min ...

2019/11/14 10:00
10
删除链表中重复的节点

解题思路: 我们每次都判断当前结点的值与下一个节点的值是否重复 如果重复就循环寻找下一个不重复的节点,将他们链接到——新链表的尾部(其实就是删除重复的节点) public ListNode delete...

2019/11/13 14:31
11
链表中环的入口节点

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路: public ListNode EntryNodeOfLoop(ListNode pHead) { if (pHead == null || pHead.next == null) return ...

2019/11/13 12:28
8
反转链表

输入一个链表,反转链表后,输出新链表的表头。 参考:https://blog.csdn.net/blioo/article/details/62050967 public class Solution { public ListNode ReverseList(ListNode head) { ......

2019/11/13 09:09
9
顺时针打印矩阵

public class Code_06_PrintMatrixSpiralOrder { public static void spiralOrderPrint(int[][] matrix) { int tR = 0; //左上角的行 int tC = 0; //左上角的列 int dR = matrix.length - 1...

2019/11/12 16:22
6
剪绳子

参考博客;https://www.jianshu.com/p/63b780a3157a 把一根绳子剪成多段,并且使得每段的长度乘积最大。 n = 2 return 1 (2 = 1 + 1) n = 10 return 36 (10 = 3 + 3 + 4) 贪心 尽可能多剪长度...

2019/09/16 09:14
8
机器人的运动范围

地上有一个 m 行和 n 列的方格。一个机器人从坐标 (0, 0) 的格子开始移动,每一次只能向左右上下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于 k 的格子。 例如,当 k 为 18...

2019/09/16 08:59
32
矩阵中的路径

判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向上下左右移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路...

2019/09/16 08:37
15
滑动窗口的最大值

给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针...

2019/09/16 08:25
7
二叉查找树的第 K 个结点

private TreeNode ret; private int cnt = 0; public TreeNode KthNode(TreeNode pRoot, int k) { inOrder(pRoot, k); return ret; } private void inOrder(TreeNode root, int k) { if (......

2019/09/15 16:53
32
序列化二叉树

二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进...

2019/09/15 16:50
5

没有更多内容

加载失败,请刷新页面

返回顶部
顶部