- 博客(132)
- 资源 (3)
- 收藏
- 关注
原创 hexo+github pages+个人域名搭建个人博客(踩坑合集)
0.安装hexohexo的安装参见官方文档: hexo安装 node.js/git自行百度/Googlenode -vnpm -vgit --version安装hexonpm install hexo-cli -g检验hexo -v1.创建远程仓库在github上创建远程仓库,我的名为sunnie.github.io注意:reposito...
2018-06-12 01:32:20 1781
原创 面试常见算法4:栈和队列
1、数组/栈/队列间的转换:1.1 固定数组实现栈结构:package sword_to_offer_stack_queue;public class UseArrayBuildArrayStack { // 固定数组实现栈 // 准备一个变量index,数组的大小设置为为栈的大小为initSize // 当要加一个数,index的含义为如果新来一个...
2018-04-18 16:48:27 435 1
原创 面试常见算法3:对链表的操作
1,单/双链表的逆序package sword_to_offer_linkedlist;public class ReverseList { public static class Node { public int value; public Node next; public Node(int data) { ...
2018-04-18 16:45:44 288
原创 面试常见算法2:对树的操作
1、树的遍历:先序/中序/后序/层次遍历package sword_to_offer_tree;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class PreInPosLayerTraversal { public static class Node {...
2018-04-15 15:56:46 386
原创 面试常见算法1:排序算法
(1)冒泡排序:算法描述:从头开始,两两交换,大的沉底,每轮确定一个最大的数,每轮逐渐缩小范围end- -,直到end = 1,即只有两个数时间复杂度:O(n²)空间复杂度:O(1)稳定性:可以做到稳定的,遇到相等的后面的代替前面的沉底package sword_to_offer_sort;import java.util.Scanner;public class ...
2018-04-10 19:23:51 742
转载 Java知识点相关文章收集
1、Java底层相关(1)Java并发编程:volatile关键字解析 (2)Java中的异常 (3)Java内存模型 (4)并发与并行 并行是我们物理时空观下的同时执行,而并发则是操作系统用线程这个模型抽象之后站在线程的视角上看到的“同时”执行(时间片轮转后的) (5)同步与异步 同步:发送一个请求,等待返回,然后再发送下一个请求 异步:发送一个请求,不等待返回,随时可以再发送下一
2018-03-24 13:27:10 520
原创 leetcode448 Find All Numbers Disappeared in an Array
package array;import java.util.ArrayList;public class leecode448FindNumbersNotAppear { /*448. Find All Numbers Disappeared in an ArrayGiven an array of integers where 1 ≤ a[i] ≤ n (n = size o...
2018-08-16 15:29:43 327
原创 leetcode169 Majority Element
package array;import java.util.HashMap;public class leetcode169MajorityElement { /* Given an array of size n, find the majority element. The majority element is the element that appear...
2018-08-16 15:28:34 273
原创 leetcode283 Move Zeros
package array;/*Given an array numswrite a function to move all 0's to the end of itwhile maintaining the relative order of the non-zero elements.Example:Input: [0,1,0,3,12]Output: [1,3,12,0,...
2018-08-16 15:27:04 415
原创 [4]《剑指offer》二叉搜索树的第k个节点
题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(...
2018-05-04 22:48:59 233
原创 [4]《剑指offer》二叉搜索树与双向链表
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。方法一:非递归版 解题思路: 1.核心是中序遍历的非递归算法。 2.修改当前遍历节点与前一遍历节点的指针指向。/**public class TreeNode { int val = 0; TreeNode left = null; ...
2018-05-04 20:20:53 266
原创 [4]《剑指offer》二叉树中和为某一值的路径
题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = ...
2018-05-02 15:28:57 217
原创 《剑指offer》二叉搜索树的后序遍历序列
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。public class Solution { public boolean VerifySquenceOfBST(int [] sequence) { if (sequence == null || sequence...
2018-05-02 14:42:38 239
原创 《剑指offer》树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val
2018-05-02 13:57:35 232
原创 《剑指offer》对称的二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { ...
2018-04-30 17:40:42 187
原创 《剑指offer》二叉树的镜像
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义: 源二叉树: 8 / \ 6 10 / \ / \ 5 7 9 11镜像二叉树: 8 / \ 10 6 ...
2018-04-30 13:38:06 195
原创 《剑指offer》把一棵二叉树打印成多行
题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。import java.util.ArrayList;import java.util.Queue;import java.util.LinkedList;/*public class TreeNode { int val = 0; TreeNode left = null; Tree...
2018-04-30 12:21:19 236
原创 《剑指offer》从上到下打印二叉树
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}...
2018-04-29 16:37:37 196
原创 《剑指offer》二叉树的深度
题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。方法一:递归,时间复杂度O(logn)/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public...
2018-04-27 23:12:37 201
原创 《剑指offer》平衡二叉树
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。public class Solution { public static class ReturnData { public boolean isBalanced; public int height; public ReturnData(boolean isBalanced,...
2018-04-27 22:17:45 201
原创 《剑指offer》包含min函数的栈
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。import java.util.Stack;public class Solution { Stack<Integer> data = new Stack<>(); Stack<Integer> min = new Stack<&
2018-04-27 21:46:19 163
原创 《剑指offer》链表中环的入口节点
题目描述 一个链表中包含环,请找出该链表的环的入口结点。 方法一:空间复杂度O(n)/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/import java.util.HashSet;...
2018-04-27 21:18:09 183
原创 《剑指offer》两个链表的第一个公共节点
题目描述 输入两个链表,找出它们的第一个公共结点。根据提交结果来看,只需要考虑无环单链表:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { ...
2018-04-27 21:07:26 176
原创 《剑指offer》复杂链表的复制
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)方法一:使用HashMap,空间复杂度O(n)/*public class RandomListNode { int label; Random...
2018-04-27 16:11:22 227
原创 《剑指offer》链表中倒数第k个节点
题目描述 输入一个链表,输出该链表中倒数第k个结点。方法一: 思路:倒第k即正第size - k + 1,遍历链表两次,时间复杂度O(n)/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/...
2018-04-22 00:20:54 182
原创 《剑指offer》合并两个排序的链表
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。递归版:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class So...
2018-04-21 23:36:01 242
原创 JDK9 HashMap源码阅读笔记
参考博客: HashMap 在 JDK 1.8 后新增的红黑树结构HashMap源码:package java.util;import java.io.IOException;import java.io.InvalidObjectException;import java.io.Serializable;import java.lang.reflect.ParameterizedType;
2018-04-18 12:59:06 535
原创 .xml文件中的"&"报错:Unescaped & or nonterminated character/entity reference
原因:IDEA将“&”当成了特殊符号。解决方案1:将“&”改写为“&”P.S : 写博客的时候发现markdown编辑器也会将“&”解析成“&”,将其作为代码标红才能显示出来。解决方案2:使用CDATA区: 当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低,这时应该使用CDATA段。在CDATA段中...
2018-04-12 17:16:27 2514
原创 将maven配置中的中央仓库地址修改为阿里云maven仓库
在mirrors的子节点,添加如下mirror: <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url
2018-04-12 15:25:54 842
翻译 解决IntelliJ idea中刷新pom就恢复language level恢复默认为5的方法
在pom.xml中加入:&lt;properties&gt; &lt;maven.compiler.source&gt;1.8&lt;/maven.compiler.source&gt; &lt;maven.compiler.target&gt;1.8&lt;/maven.compiler.target&gt;&lt
2018-04-12 15:08:13 5461 2
原创 maven+JDBC中抽象出获取连接和释放资源接口的三种方式
目录结构: Version 1:只抽象出方法封装成一个类,但是仍然是硬编码,数据库的四个参数直接写在类中JDBCUtils_V1.java中的内容:package sunnie;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import...
2018-04-12 11:29:08 289
原创 sql注入攻击问题
使用login登录成功,即sql攻击: 因为组合在一起的sql语句是:SELECT * FROM user WHERE username='a' or 'a'='a' and password='a' or 'a'='a'使用login1函数失败: package sunnietest;import java.sql.Connection;import java.sq...
2018-04-11 14:45:21 234
原创 用idea+maven+junit实现单元测试
maven项目目录结构:注意测试文件要放在test目录下 pom.xml配置加上:&lt;!-- https://mvnrepository.com/artifact/junit/junit --&gt; &lt;dependency&gt; &lt;groupId&gt;junit&lt;/groupId&gt;
2018-04-11 13:47:31 1815
原创 用idea+maven实现JDBC
pom.xml的配置:&lt;!-- https://mvnrepository.com/artifact/junit/junit --&gt; &lt;dependency&gt; &lt;groupId&gt;junit&lt;/groupId&gt; &lt;artifactId&
2018-04-11 13:39:17 2547
原创 《剑指offer》18.删除链表的节点 / 删除链表中重复的节点
删除链表中的节点题目描述: 在O(1)时间内删除链表节点。给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。 测试用例: 1、功能测试:重复的节点位于链表的头部 / 中间 / 尾部;链表中没有重复的节点 2、特殊输入测试:链表头结点为null,链表中所有节点都是重复的 思路: b图常规遍历复杂度O(n),c图覆盖方法复杂度O(1):我们要删除的节点i,先把...
2018-04-02 16:47:37 291
原创 [3]《剑指offer》17.打印从1到最大的n位数
题目描述: 输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1\2\3一直到最大的3位数299思路一:考虑大数用String表示,考虑从第一个不为0的数字开始输出public class Print1ToMaxOfNDigits { public static void Print1ToMaxOfNDigits(int n) { if (...
2018-03-29 17:04:31 268
原创 《剑指offer》16.数值的整数次方
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。注意:要考虑全面(底数为-,0,+;指数为-,0,+)public class Solution { public double Power(double base, int exponent) { if ...
2018-03-29 14:32:56 176
原创 《剑指offer》14.剪绳子
题目描述: 给你一根长度为n的绳子,请把绳子剪成m段(m和n都是整数,n &gt; 1,m &gt; 1),每段绳子的长度记为k[0],k[1],k[2]…k[m]。请问k[0] * k[1] * … * k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它分别剪成2,3,3的三段,此时乘积最大是18。思路一:利用动态规划,自下而上的循环,原理同斐波那契数列,时间复杂度O(n²)...
2018-03-28 20:11:14 352
原创 《剑指offer》15.二进制中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) { int count = 0; int flag = 1; // flag刚开始是1,一直在左移,当1进行了32次左移后,flag=0跳出while循环,...
2018-03-26 21:50:45 193
原创 《剑指offer》13.机器人的运动范围
题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路:回溯法,当问题看起来比较复杂的时候...
2018-03-26 20:47:59 222
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人