剑指offer
文章平均质量分 60
sewssb001
这个作者很懒,什么都没留下…
展开
-
剑指offer第三题:二维数组中查找
package java_study.JianZhiOffer;import java_study.sort.Sort7;import org.junit.Test;import java.util.Arrays;import java.util.Random;/** * Created by ethan on 2015/6/20. * 在二维数组种找一个数 * 剑指offer转载 2015-06-21 00:27:32 · 422 阅读 · 0 评论 -
字符串的排列组合
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/29. */public class No28字符串的排列组合 { public void permutation(String str){ char[] arr = str.toCha转载 2015-06-29 17:03:28 · 276 阅读 · 0 评论 -
连续字数组的最大和
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/29. */public class No31连续字数组的最大和 { public int getContinusMaxSum(int[] arr){ if (arr==null) ret转载 2015-06-29 17:04:06 · 288 阅读 · 0 评论 -
顺时针打印矩阵
package java_study.JianZhiOffer;import org.junit.Test;import java.util.Scanner;import java.util.stream.StreamSupport;/** * Created by ethan on 2015/6/29. * 剑指offer No20顺时针打印矩阵 * 剑指offer中给出的答原创 2015-06-29 11:56:57 · 504 阅读 · 0 评论 -
二叉搜索树的后续遍历序列
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/29. * 剑指offer的 No24 二叉树后续遍历序列 * 剑指offer上的解答不够好, 在判断完左边之后, 如果发现左边为假,那么右边不应再递归调用, 可以提升性能 */public class原创 2015-06-29 14:08:16 · 227 阅读 · 0 评论 -
二叉树中和为某一值得路径
package java_study.JianZhiOffer;import org.junit.Test;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;/** * Created by ethan on 2015/6/29. * java没有指针 CurSum 这个解原创 2015-06-29 14:51:13 · 290 阅读 · 0 评论 -
找到第1500个的丑数
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/29. * 剑指offer No34找到第1500个的丑数(因数只有2,3,5三个数为丑数) * 空间换时间的做法 */public class No34找到丑数 { public int find转载 2015-06-29 19:21:29 · 354 阅读 · 0 评论 -
找到第一个只出现一次的数
package java_study.JianZhiOffer;import org.junit.Test;import java.util.HashMap;/** * Created by ethan on 2015/6/29. * 剑指offer 直接使用hashmap或者使用更加轻量级的数组都行 */public class No35找到第一个只出现一次的数 {原创 2015-06-29 19:35:44 · 311 阅读 · 0 评论 -
找出字符串的第一个只出现一次的字符
package java_study.JianZhiOffer;import org.junit.Test;import scala.Char;import java.util.HashMap;/** * Created by ethan on 2015/7/7. * 剑指offer中No36题 */public class No36第一个只出现一次的字符 { pu原创 2015-07-07 17:42:14 · 393 阅读 · 0 评论 -
统计数组中的逆序对的数量
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/7/7. * 剑指offer中No36,直接双重for循环的时间复杂度是O(n2),这样效率太低 * 可以是用归并排序的思路进行排计算逆序对的数目,时间复杂度是O(nlogn) */public class N原创 2015-07-07 19:20:17 · 398 阅读 · 0 评论 -
一个有序数组数组,给出和为s的两个数字和连续正数数列
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/7/7. * 剑指offer的No41 一个有序数组数组,给出和为s的两个数字和连续正数数列 */public class No41和为s的两个数字和连续正数数列 { public void getPai原创 2015-07-07 21:27:10 · 381 阅读 · 1 评论 -
两个链表的第一个公共结点
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/7/7. * 剑指offer No37 两个链表的第一个公共结点 * 两个思路:1.压栈 2.数出每个链表的长度,并让长链表先走相差的步数。 * 这里实现的是思路2, 没有经过测试 */public class原创 2015-07-07 19:54:34 · 305 阅读 · 0 评论 -
二叉树的镜像
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/29. * 剑指offer No19 二叉树的镜像 */public class No19二叉树的镜像 { public void toMirror(TreeNode root){ i原创 2015-06-29 10:39:23 · 263 阅读 · 0 评论 -
二叉树的子结构的判定
package java_study.JianZhiOffer;/** * Created by ethan on 2015/6/24. * 剑指offer No18 二叉树的子结构的判定 * 递归思路 */public class No18树的子结构 { public boolean treeHasSubtree(TreeNode root1, TreeNode root转载 2015-06-29 10:02:20 · 301 阅读 · 0 评论 -
从尾到头打印链表
package java_study.JianZhiOffer;import org.junit.Test;import java.util.Random;import java.util.Stack;/** * Created by ethan on 2015/6/21. * 剑指offer No5 链表的逆序输出 */public class No5PrintListIn原创 2015-06-21 11:28:19 · 246 阅读 · 0 评论 -
两个栈实现一个队列
package java_study.JianZhiOffer;import java.util.Stack;/** * Created by ethan on 2015/6/22. */public class No7Queue { public Stack stackInput; public Stack stackOutput; public No7Qu原创 2015-06-22 21:24:15 · 316 阅读 · 0 评论 -
数值的整数次方
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/23. * 剑指offer中No11 数值的整数次方 * 注意: base在指数为负数的时候是不能为0的, 不要忽略指数为负数的情况 */public class No11数值的整数次方 { publ原创 2015-06-23 21:12:22 · 270 阅读 · 0 评论 -
在O1时间内删除一个结点
package java_study.JianZhiOffer;import org.junit.Test;import java.util.Random;/** * Created by ethan on 2015/6/23. * 剑指offer: No13在O1时间内删除一个结点 * 删除后一个结点, 将后结点的值赋给前结点 */public class No13在O原创 2015-06-23 23:11:57 · 338 阅读 · 0 评论 -
旋转数组查找, 二分查找的递归于非递归实现
package java_study.JianZhiOffer;import org.junit.Test;import java.util.Arrays;/** * Created by ethan on 2015/6/22. * 剑指offer 第八题 旋转数组查找 * 查找算法中重要的:二分,hash,二叉搜索树 * 排序中重要的算法:快排的partition思路(一次可原创 2015-06-22 22:46:59 · 462 阅读 · 0 评论 -
斐波那契数列的递归实现和非递归实现
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/23. * No9 斐波那契数列的递归实现和非递归实现 */public class No9Fibonacci { // 斐波那契数列 public int fibonacci(int x){原创 2015-06-23 21:07:58 · 402 阅读 · 0 评论 -
一个整数二进制中1的个数
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/23. * 剑指offer中 No.10 二进制中1的个数 * 左右移和位与运算提升效率, 考虑负数,会造成死循环 */public class No10NumbersOf1 { // 没有考虑负转载 2015-06-23 21:10:32 · 282 阅读 · 0 评论 -
打印1到最大的n位数
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/23. * 剑指offer: 打印1到最大的n位数 * 考虑到大数问题, 用数组或者字串模拟(java中字串不如c/c++方便),所以用数组实现 */public class No12打印1到最大的n位数 {原创 2015-06-23 21:32:29 · 277 阅读 · 0 评论 -
链表中的倒数第k个结点
package java_study.JianZhiOffer;/** * Created by ethan on 2015/6/24. * 剑指offer N016链表中的倒数第k个结点 * 关键注意: k的为0或者负数, */public class No15倒数第k个结点 { public Node findLastK(Node head, int k){原创 2015-06-24 22:34:27 · 279 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/24. * 剑指offer No14调整数组顺序使奇数位于偶数前面 * 两个指针从两边向中间走 */public class No14调整数组顺序使奇数位于偶数前面 { public void a原创 2015-06-24 22:32:27 · 607 阅读 · 0 评论 -
将数组组成最小的数
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/6/29. * 剑指offer 将数组组成最小的数 * 注意大数问题 */public class No33将数组组成最小的数 { public String toMinNumber(int[] arr原创 2015-06-29 18:34:45 · 450 阅读 · 0 评论 -
计算二叉树的深度,判断二叉树是否是平衡二叉树
package java_study.JianZhiOffer;import org.junit.Test;/** * Created by ethan on 2015/7/7. * 剑指offer No39计算二叉树的深度,判断二叉树是否是平衡二叉树 */public class No39二叉树的深度 { public int getDepth(TreeNode roo原创 2015-07-07 20:49:50 · 432 阅读 · 0 评论