
数据结构与算法
文章平均质量分 62
kris999
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《剑指offer》Java版
一、引言《剑指offer》可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题。但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学习参考,这些代码我都是在OJ上跑过全AC的,所以正确性你大可放心。二、目录1赋值运算函数2单例设计模式3二维数组中查找目标值4替换字符串中的空格5从尾到头打印链表6由前序和中序遍历重建二叉树7用两...原创 2020-03-11 23:02:57 · 1854 阅读 · 0 评论 -
红黑树
https://blog.csdn.net/weixin_44337261/article/details/88802015https://blog.csdn.net/v_JULY_v/article/details/6124989?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158480526019725247661623%...原创 2020-03-22 18:44:11 · 601 阅读 · 1 评论 -
二叉搜索树遍历(前序、中序、后序、层次、广度优先遍历)
https://www.cnblogs.com/wfaceboss/p/10678988.html前言:在上一节中,我们对树及其相关知识做了了解,对二叉搜索树做了基本的实现,下面我们继续完善我们的二叉搜索树。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们寻常所说的层次遍历,如图:因为树的定义本身就是递归定义,所以对于前序、中序以及后序这三种遍历...原创 2020-03-12 10:18:31 · 574 阅读 · 0 评论 -
算法研究、编程艺术、红黑树、机器学习5大系列集锦
算法研究、编程艺术、红黑树、机器学习5大系列集锦https://blog.csdn.net/v_JULY_v/article/details/6543438原创 2020-03-08 21:44:09 · 166 阅读 · 0 评论 -
2.1.6 longest consecutive sequence
/*************最长连续序列********************/给定无序数组,找出最长连续序列,时间复杂度0(n)思路:用一个哈希表unordered_map 记录每个元素是否判断过 用vector来存储无序数组,任选一个数,左右扩张,判断他的左右连续数是否在数组中,记录累加连续长度,直到不连续为止。为避免重复对连续序列进行统计,同时用 unorde原创 2015-05-22 21:46:15 · 400 阅读 · 0 评论 -
算法-数组
数组4.将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:从后往前复制,数组长度会增加,或使用StringBuilder、StringBuffer类代码实现: public static String replaceBank(String str, String spc){ ...原创 2020-03-05 23:12:15 · 124 阅读 · 0 评论 -
洗牌 发牌算法
https://www.cnblogs.com/leiqin/p/5316692.htmlpackage com.java.lei.homework;import java.util.Arrays;import java.util.Random;public class PokerGame { //1.创建数组,用以存储扑克牌 static String[] po...原创 2020-03-04 22:37:32 · 236 阅读 · 0 评论 -
八种排序算法
八种排序算法https://zhongfucheng.bitcron.com/post/shu-ju-jie-gou-suan-fa/ba-da-ji-chu-pai-xu-zong-jie快排思路: 在数组中找一个元素(节点),比它小的放在节点的左边,比它大的放在节点右边。一趟下来,比节点小的在左边,比节点大的在右边。 不断执行这个操作…. 代码实现: 快速排序用递归比较好写...原创 2018-04-22 20:28:45 · 148 阅读 · 0 评论 -
(剑指Offer)面试题56:链表中环的入口结点
http://www.cnblogs.com/AndyJee/p/4705846.html题目: 一个链表中包含环,请找出该链表的环的入口结点。思路: 1、哈希表遍历整个链表,并将链表结点存入哈希表中(这里我们使用容器set),如果遍历到某个链表结点已经在set中,那么该点即为环的入口结点;2、两个指针如果链表存在环,那么计算出环的长度n,然后准备两个指针pSlow,pFa...原创 2018-04-22 14:40:26 · 230 阅读 · 0 评论 -
剑指offer 54.请实现一个函数用来判断字符串是否表示数值(包括整数和小数)
54.请实现一个函数用来判断字符串是否表示数值(包括整数和小数)public class Test54 { /** * 题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。 * * @param string * @return */ public static boolean isNumeric(S...转载 2018-04-22 14:23:39 · 953 阅读 · 0 评论 -
算法汇总
数组40.一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:两个相同的数异或后为0,将所有数异或后得到一个数,然后求得1在该数最右边出现的index,然后判断每个数右移index后是不是1。ps:1 出现两次的数字在异或累积结果中抵消了,2 拿到index后,再次异或遍历数组,可以将数组遍历分为第index位是1,0的两个数组即分别拥有一个只...原创 2018-04-19 21:53:36 · 222 阅读 · 0 评论 -
反转链表
递归实现 private static Node reverseByRecur(Node current) { if (current == null || current.nextNode == null) return current; Node nextNode = current.nextNode; current.n...原创 2018-04-19 21:51:41 · 152 阅读 · 0 评论 -
单链表反转
给一个单向链表,把它从头到尾反转过来。比如: a -> b -> c ->d 反过来就是 d -> c -> b -> a 。分析:假设每一个node的结构是:[java] view plain copy class Node { char value; Node next; } 因为在对链表进行反转的时候,需要更新每一个n...转载 2018-04-19 08:34:59 · 210 阅读 · 0 评论 -
面经汇总
阿里 https://zhuanlan.zhihu.com/p/33273041 https://www.itcodemonkey.com/article/2356.html http://shanghai.ujiuye.com/msjq/1719.html http://www.cnblogs.com/binyue/p/4015884.htmlhttps://zhuanlan.zh...原创 2018-04-08 22:20:40 · 784 阅读 · 0 评论 -
字符串替换04
字符串替换方法1 private static String replace(String str){ if(str == null){ return null; } String rStr = "%20"; return str.replace(" ", rStr);}方法2private static String replac...原创 2018-04-07 21:12:35 · 169 阅读 · 0 评论 -
剑指offer(数组)
3二维数组中查找/* 二维数组中查找 思路:方法1 从右上角或左下角开始,与target比较 方法2 二分查找 */boolean searchInArray(int[][]arrary, int target){ int row = 0; int col = arrary[0].length - 1; ...原创 2018-04-07 20:28:45 · 119 阅读 · 0 评论 -
数据结构与算法 (二叉搜索树)
BST 二叉搜索树性质:中序遍历BST并打印,将得到从小到大的排列。原创 2015-05-22 22:21:44 · 402 阅读 · 0 评论 -
十道海量数据处理面试题与十个方法大总结
十道海量数据处理面试题与十个方法大总结https://blog.csdn.net/v_JULY_v/article/details/6279498?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158367379519195239847769%2522%252C%2522scm%2522%253A%252220140713.13...原创 2020-03-08 21:33:57 · 266 阅读 · 0 评论