数据结构
文章平均质量分 86
安迪爸爸
老骥伏枥,志在千里。烈士暮年,壮心不已
展开
-
java通过字节数组查看真实内容
前言当我们打开debug模式时,经常能看到变量里有这么一坨。看着一脸懵逼,我们知道这是byte数组,java在通信时,都会将内容转换为二进制流来传输,二进制流在debug模式里最直观的体现就是byte数组。最小单位就是byte。今天我们不通过程序去转换内容,而是通过计算器去算出真实的内容,主要目的还是理解存储的意义。实验字符串定义一个字符串变量a="123",然后通过getBytes方法转换为字节数组。代码如下:转换后的字节输入如下:可以看到字节数组长度为3,每.原创 2021-07-28 13:25:17 · 1644 阅读 · 0 评论 -
剑指Offer面试题5(Java版):从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每个节点的值。实现代码如下:public class test1 { public static void main(String[] args){ LinkedListTest llt1=new test1().new LinkedListTest(1); LinkedListTest llt2=new test1(...原创 2018-03-19 15:58:07 · 109 阅读 · 0 评论 -
剑指Offer面试题6(Java版):重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重新构造出该二叉树。假设输入的前序遍历和中序遍历的结果中不包含重复的数字。例如输入的前序遍历序列为{1,2,4,7,3,5,6,8}和中序遍历为{4,7,2,1,5,3,6,8},则重建出二叉树并输出它的头结点。public class test2 { public static void main(String[] args){ int[] ...原创 2018-03-20 10:45:35 · 107 阅读 · 0 评论 -
剑指Offer面试题7(Java版):用两个栈实现队列与用两个队列实现栈
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。题目中用到栈,可以选择用java.util.Stack类,作者想自己写一个,所以就没用。自己写栈类的话, 也是参考了java.util.Stack类源码,第一,栈需要一个容器,我们选择用数组来做容器,容器的初始大小设为10.当栈里数据要超...原创 2018-03-20 11:57:53 · 169 阅读 · 0 评论 -
剑指Offer面试题10(Java版):二进制中的1的个数
参考大佬文章:http://blog.csdn.net/jsqfengbao/article/details/47143127要点:1.整数除2相当于>>1,整数乘1相当于<<1.2.除法要比位运算效率低,因为除法也是调用的位运算。3.循环右移位运算的解法,当整数为负数时,由于负数最左边是符号位1,所以第一种代码写法会造成死循环。4.整数num*(num-1)相当于整数二进...原创 2018-03-20 14:57:58 · 164 阅读 · 0 评论 -
java排序算法复习比较
更新中。排序java排序算法说明排序的定义对一序列对象根据某个关键字进行排序。术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; 时间复杂度: 一个...原创 2018-03-29 16:13:11 · 232 阅读 · 0 评论 -
找出两个字符串中相同的词语,返回一个分值
前言:由于笔者工作的需求,给定一个字符串,需要从一堆字符串中找出与其最相似的字符串,网络的一些算法发现跟自己的需求不匹配,于是自己写了一个,话不多说,请看下文。目标:给定两个字符串,能将两个字符串中相同词语的相似度返回一个分值。计分方式:分值跟次数的个数有关,具体举例如下:source="我有一个小毛驴,我从来都不骑"target="我哈一个哈哈哈,我从来哈哈哈"上...原创 2018-10-23 11:49:26 · 1555 阅读 · 1 评论