![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode刷题
HCH996
一边失去,一边在寻找~
展开
-
数据结构_优先队列
优先队列(Priority Queue)特点能保证每次取出的元素都是队列中优先级别最高的。优先级别可以是自定义的,例如,数据的数值越大,优先级越高;或者数据的数值越小,优先级越高。优先级别甚至可以通过各种复杂的计算得到。应用场景从一堆杂乱无章的数据当中按照一定的顺序(或者优先级)逐步地筛选出部分乃至全部的数据。举例:任意一个数组,找出前k大的数。解法 1:先对这个数组进行排序,然后依次输出前k大的数,复杂度将会是O(nlogn),其中,n是数组的元素个数。这是一种直接的办法。...原创 2020-09-20 18:29:23 · 593 阅读 · 0 评论 -
数据结构_二叉树
寻找错误结点一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请找到这两个错误节点并返回他们的值。保证二叉树中结点的值各不相同。给定一棵树的根结点,请返回两个调换了位置的值,其中小的值在前。import java.util.*;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeN原创 2020-09-19 19:19:31 · 104 阅读 · 0 评论 -
数据结构_树_完全二叉树判断
import java.util.*;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*//*解题思路:按层次进行遍历1.如果当前节点的右孩子为空,那么它之后出现的所有节点必须为叶子节点(可以通过将leaf设置为true来确定)来.原创 2020-09-19 18:38:09 · 236 阅读 · 0 评论 -
数据结构_树_层次打印_序列化_反序列化
有一棵二叉树,请设计一个算法,按照层次打印这棵二叉树。给定二叉树的根结点root,请返回打印结果,结果按照每一层一个数组进行储存,所有数组的顺序按照层数从上往下,且每一层的数组内元素按照从左往右排列。保证结点数小于等于500。import java.util.*;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(原创 2020-09-19 18:34:11 · 153 阅读 · 0 评论 -
数据结构_树_遍历
树的遍历例题一请用递归方式实现二叉树的先序、中序和后序的遍历打印。给定一个二叉树的根结点root,请依次返回二叉树的先序,中序和后续遍历(二维数组的形式)。import java.util.*;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = v原创 2020-09-19 18:28:53 · 148 阅读 · 0 评论 -
数据结构_队列_双端队列
队列(Queue)特点:和栈不同,队列的最大特点是先进先出(FIFO),就好像按顺序排队一样。对于队列的数据来说,我们只允许在队尾查看和添加数据,在队头查看和删除数据。实现:可以借助双链表来实现队列。双链表的头指针允许在队头查看和删除数据,而双链表的尾指针允许我们在队尾查看和添加数据。应用场景:直观来看,当我们需要按照一定的顺序来处理数据,而该数据的数据量在不断地变化的时候,则需要队列来帮助解题。在算法面试题当中,广度优先搜索(Breadth-First Search)是运用队列最多的地方,我们将原创 2020-09-19 18:25:10 · 774 阅读 · 0 评论 -
数据结构_栈
栈(Stack)特点:栈的最大特点就是后进先出(LIFO)。对于栈中的数据来说,所有操作都是在栈的顶部完成的,只可以查看栈顶部的元素,只能够向栈的顶部压⼊数据,也只能从栈的顶部弹出数据。实现:利用一个单链表来实现栈的数据结构。而且,因为我们都只针对栈顶元素进行操作,所以借用单链表的头就能让所有栈的操作在 O(1) 的时间内完成。class Node{ int data; Node next; public Node(int data) { this.data = data; }原创 2020-09-19 13:28:10 · 118 阅读 · 0 评论 -
数据结构_链表
链表(LinkedList)单链表:链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起。双链表:与单链表不同的是,双链表的每个结点中都含有两个引用字段。链表的优缺点链表的优点如下:链表能灵活地分配内存空间;能在 O(1) 时间内删除或者添加元素,前提是该元素的前一个元素已知,当然也取决于是单链表还是双链表,在双链表中,如果已知该元素的后一个元素,同样可以在 O(1) 时间内删除或者添加该元素。链表的缺点是:不像数组能通过下标迅速读取元素,每次都原创 2020-09-19 11:52:20 · 124 阅读 · 0 评论 -
01常用数据结构_字符串
LeetCode 第 242 题:给定两个字符串 s 和 t,编写一个函数来判断 t 是否是 s 的字母异位词。https://leetcode-cn.com/problems/valid-anagram/解题思路一个重要的前提“假设两个字符串只包含小写字母”,小写字母一共也就 26 个,因此:可以利用两个长度都为 26 的字符数组来统计每个字符串中小写字母出现的次数,然后再对比是否相等;可以只利用一个长度为 26 的字符数组,将出现在字符串 s 里的字符个数加 1,而出现在字符串 t原创 2020-09-19 10:28:32 · 82 阅读 · 0 评论 -
Spark大数据WordCount代码实例演示
//手动编写一个wordcount程序//要导入Strom的jar包//把lib下所有的jar包包含在工程里就好了Topology = spout(采集数据) + bolt(s)(处理数据)//要创建主程序来书写自己的任务public class WordCountTopology{ public static void main(String[] args){ //创建一个任务...原创 2018-08-26 12:53:30 · 340 阅读 · 0 评论 -
231. Power of Two
题目描述:判断给定的数是否是2的n次方解题心得:小技巧:利用n和n-1尽心与操作代码如下:class Solution{ public boolean isPowerOfTwo(int n){ //当n为0的时候,返回的就是否 if(n <= 0){ return false; } //否则返回的是n与(n-1)的与的结果 return !(n ...原创 2018-08-13 21:06:19 · 108 阅读 · 0 评论