- 博客(20)
- 收藏
- 关注
原创 txt格式的文件中,第一位的数字不能直接用Integer.parseInt()的问题
例如,我读取一个UTF-8编码,格式为.txt的文件:中间是tab符分隔开的,所以我可以将其转为数组:{“3600”,“1900”,“我”},然后我想对“3600”进行Integer.parseInt(),但是报错,说格式不对。然后我将“3600”打开细看了一下:char[] c = tokens[0].toCharArray(),里面的结果是{,3,6,0,0},也就是说,用UTF-8编码的...
2020-01-07 22:21:52
259
原创 计算机网络基础
OSI七层网络模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP四层网络模型:网络接口层、网间层、传输层、应用层。网络接口层(ARP、RARP)网间层(IP、ICMP)传输层(TCP、UDP)应用层(DNS、FTP、HTTP、SMTP、IRC)。。。。。。。。。。。。。。。。。。。。。。。。。物理层()数据链路层(ATM、FDDI)网...
2019-09-20 00:13:58
92
原创 排序算法总结
排序算法:参考https://www.cnblogs.com/guoyaohua/p/8600214.html冒泡排序:两两比较,最大的放到了最后,之后进行除最大的之外的前面几位比较,直到排序结束。O(n^2),O(1),稳定。选择排序:首先找到一个最小值,与第一位交换,其次除去第一位,再找到最小值,与第二位交换,依次类推,直到结束。O(n^2),O(1),不稳定。插入排序:以第一个为...
2019-09-20 00:01:07
95
原创 数据库学习笔记
https://blog.csdn.net/snowbaby1234/article/details/81238760(参考面试题目总结)一、事务的四大特性:A(原子性)、C(一致性)、I(隔离性)、D(持久性)。 其中,隔离性有四种类型...
2019-08-22 16:33:42
156
1
原创 Redis面试学习笔记
Redis学习笔记:1.非关系型数据库,NoSQL(Not Only SQL)比普通的关系型数据库在某些方面更有优势,例如在海量数据存储中的高效率存储和访问,高并发读写,高可扩展性和高可用性等。NoSQL数据库的四大分类:Key-Value存储,列存储,文档数据库,图形数据库等,其中Redis数据库用到了k-v存储。2.Redis是用C语言开发的开源的高性能的键值对的数据库,提供多种不同键...
2019-08-21 21:02:48
117
原创 算法刷题--二叉树的前序中序后序广度深度遍历方法
前中后序遍历可以用一个递归直接得出。前序:先输出root,然后对左右节点进行递归输出。public void preOrderTraverse1(TreeNode root) { if (root != null) { System.out.print(root.val+" "); preOrderTraver...
2019-05-30 14:20:22
96
原创 算法刷题--二叉树的镜像
题目:操作给定的二叉树,将其变换为源二叉树的镜像。思路:就是简单的把左右子树调换位置,但是做这种题目一定要注意限定条件,即根节点不为空,后面才能操作,然后对根节点的左右子树进行递归,继续调换位置,以此类推完成题目。代码:/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode...
2019-05-16 10:42:45
175
原创 算法刷题--树的子结构
问题:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:1、判断B是不是空树,如果是空树,返回false;2、判断A是不是空树,如果是空树,返回false;3、如果找到了对应B的根节点的点,即在这时候AB相同了,以这个根节点为为起点判断是否包含B;4、判断是否包含B?-->因为此时找到了AB相同的节点,所以要遍历他们的左右节点是否...
2019-05-16 10:31:36
125
原创 算法刷题--不用加减乘除做加法
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路:既然不准用四则运算,则考虑数值的位运算,即“异或”和“位与”。他们的计算规则是,总结:在“异或”中,只有在“01”的情况下为“1”,其他的情况为“0”,在“位与”中,只有在“11”的情况下为“1”,其他的情况为“0”。根据这个运算规则,先对两个数值进行异或处理,再进行位与处理左移一位将进位移进数值中,...
2019-05-16 09:29:05
173
原创 算法刷题--反转链表
题目::输入一个链表,反转链表后,输出新链表的表头。解题思路见下列注释:public class Solution { public ListNode ReverseList(ListNode head) { if(head==null) return null; //head为当前节点,如果当前节点为空的话...
2019-05-15 19:52:03
128
原创 算法刷题--链表中倒数第k个结点
题目:输入一个链表,输出该链表中倒数第k个结点。思路:刚看到这个题目,想的是,不能从链尾进行查询第k个数嘛,后来查询资料,链表只能从头到尾进行查询。所以要用另一种方法:在链表头部定义两个指针,让其中一个指针指向第k个节点,也就是走k-1步,然后两个指针同时向后走,直到第一个指针到了链尾,也就是说next=null了,就找到了。但是要注意三种情况:链表为空;k<=0;k超过了链表长度;...
2019-05-07 21:42:30
231
原创 算法刷题--调整数组顺序使奇数位于偶数前面
问题:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路:冒泡排序进行处理数组,冒泡排序的思想就是这样:两两做比较,一轮结束之后,最后一个是最大的,然后再进行下一轮。最终的轮数是N-1,每一轮的比较次数为N-i。具体详细资料如:https://www.cnblogs.com...
2019-04-24 20:18:20
149
原创 算法刷题--数值的整数次方
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路:次幂的问题,如果用Math.pow(x,y),x 、y都是浮点数类型,如果一个是浮点数,一个是整数,那就。。。。反正直接用公式来做不行,所以考虑用指数个底数相乘得出答案。代码:public class Solution { public double Po...
2019-04-24 19:10:20
129
原创 算法刷题--二进制中1的个数
问题:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:将数字转化为二进制之后,转化为字符串数组形式,再循环遍历数组,找出“1”的个数。解释:这是最low的方法我认为,十进制转化为二进制可以通过自己编程逻辑实现,也可以用自带的库实现,Integer.toBinaryString(n)。还有其他的转二进制的方法参考资料:https://www.cnblogs.com/vs...
2019-04-23 19:41:50
174
原创 算法刷题--变态跳台阶
问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解决:根据推算,这一题的答案是2的n-1次幂。知识点:看到次幂的问题,就想到Math.pow(double a,double b)。也可以用移位来做。移位只针对于幂指数的底是2的倍数的数。在二进制的情况下,左移相当于乘以2,即在后面加0,所以2的n次幂就相当于1<<...
2019-04-22 19:52:30
126
原创 算法刷题--旋转数组的最小数字
问题:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:非减排序的一个数组,说明是递增数组,或者是全相等的数组。在递增数组中,查找一个数,想到采用二分查找法,二...
2019-04-22 15:33:57
120
原创 算法刷题--用两个栈实现一个队列,完成队列的push、pop操作,队列中的元素为int类型。
基础知识:栈是基本的线性数据结构,其遵循先进后出的原则,指针均指向栈顶,即数据的插入和删除操作均在栈顶进行;队列遵循先进先出的原则,有队头(front)和队尾(rear)之分,队尾指向插入的元素,队头指向删除的元素。解题思路:两个栈实现一个队列的先进先出操作。要把一个栈A作为插入(进队),一个栈B作为删除(出队)。插入的时候,就相当于栈的插入,删除的时候,先判断栈B是否为空,如果不为空,则表明...
2019-04-01 22:14:52
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人