- 博客(12)
- 收藏
- 关注
原创 L10
1.利用牛客的递推方法: class Solution { public boolean isMatch(String s, String p) { if(s == null || p == null) return false; char[] str = s.toCharArray(); char[] pattern = p.toCharA...
2020-03-31 11:58:59 150
原创 L5最长的回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 1.暴力方法,三次循环 public boolean judge(char[] ch, int i, int j){ while(i < j){ if(ch[i] != ch[j]) return false; i++; ...
2020-03-30 21:58:04 129
原创 L4寻找两个正序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 public double findMedianSortedArrays(int[] nums1, int[] nums2) {//使用两个数组来存储 int m = ...
2020-03-30 21:14:49 100
原创 常用的排序方法
public class Main { public void directSort(int[] num){//直接插入排序, int len = num.length; for(int i = 0; i < len; i++){//注意从0开始 int tmp = num[i]; int j = i ...
2020-03-29 11:48:53 91
原创 同步与异步,阻塞与非阻塞
1.同步与异步 同步与异步是针对应用程序与内核的交互而言的。同步过程中进程触发IO操作并等待或者轮询的去查看IO操作是否完成。异步过程中进程触发IO操作以后,直接返回,做自己的事,IO交给内核来处理,完成内核通知进程IO完成。 阻塞与非阻塞 应用进程请求I/O操作时,如果数据未准备好,如果请求立即返回就是非阻塞,不立即返回就是阻塞。简单说就是做一件事如果不能立即获得返回,需要等待,就是阻塞,否则就...
2020-03-28 23:07:06 185
原创 java面经
1.HashMap在jdk1.8之后引入了红黑树的概念,表示若桶中链表元素超过8时,会自动转化成红黑树;若桶中元素小于等于6时,树结构还原成链表形式。 红黑树的平均查找长度是log(n),长度为8,查找长度为log(8)=3,链表的平均查找长度为n/2,当长度为8时,平均查找长度为8/2=4,这才有转换成树的必要;链表长度如果是小于等于6,6/2=3,虽然速度也很快的,但是转化为树结构和生成树的时...
2020-03-28 17:11:13 257
原创 二叉树的剪枝2
题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。 1.先用容器事先存储起来 TreeNode KthNode2(TreeNode root, int k) { if(root == null) return null; ArrayList<TreeNode&...
2020-03-26 23:21:38 105
原创 递归法,以及剪枝操作
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 1.不剪枝 有点像先序遍历 public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if(root == null)return true; int flag = Math.abs(getDep(root....
2020-03-26 15:42:19 625
原创 全排列牛客和L46,L47
1.题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 import java.util.ArrayList; import java.util.*; public class Solution { public void swap(char[] ch, i...
2020-03-24 23:14:18 186
原创 先序后序中序递归通过栈来实现
1.中序遍历(转为双向链表) import java.util.LinkedList; public class Solution { public TreeNode Convert(TreeNode root) { if(root == null) return null; LinkedList<TreeNode> st = new Linke...
2020-03-24 15:25:07 148
原创 内部类与ListNode
内部类与ListNode的使用方法 内部类的使用方法 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 // An highlighted block public class Main2 { class ListNode{ int val; ListNode n...
2020-03-23 10:34:49 350
原创 PAT1028排序总结
PAT1028常用解题方法,实现结构体 1.常用的输入输出方法: Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int [] m = new int[n]; for(int i = 0;i<n ; i++){ m[i ]= scan.ne...
2020-03-23 10:34:22 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人