摘要:
1、什么是序列化 把对象转换为字节流的过程。 2、什么是反序列化 把字节流恢复为对象的过程。 3、序列化的作用 1) 把对象的字节流永久地保存到硬盘上,持久化对象; 2) 在网络上传送对象的字节流,传输数据。 4、JDK中的序列化API 1) ObjectOutputStream,writeObje 阅读全文
摘要:
一、三次握手 二、四次挥手 阅读全文
摘要:
1、i++。public static void main(String[] args) { int i = 10; i = i++; // 输出结果为: i = 10 System.out.println("i = " + i); /* i = i++;这条语句相当于以下三条语句: 1) int 阅读全文
摘要:
1、Java集合分类 主要分为Set、Queue、List和Map。 https://www.cnblogs.com/fankongkong/p/6382825.html https://www.jianshu.com/p/939b8a672070 1)说说常见的集合有哪些吧? 答:Map接口和Co 阅读全文
摘要:
1、51 http://developer.51cto.com/ 2、博客园 https://www.cnblogs.com/ 3、阮一峰的个人网站 http://www.ruanyifeng.com/home.html 4、牛客网 5、美团 阅读全文
摘要:
1、2018-8-27 复习和学习java集合类。 阅读全文
摘要:
1 /** 2 * IntentService is a base class for {@link Service}s that handle asynchronous 3 * requests (expressed as {@link Intent}s) on demand. Clients send requests 4 * through {@link andro... 阅读全文
摘要:
1、滑动窗口的最大值:双端队列 2、数据流中的中位数:排序 3、二叉搜索树的第k大结点:递归,中序遍历 4、二叉树的深度:递归 5、把二叉树打印多行:队列,编号,每一行的大小 6、按之字形顺序打印二叉树:定义一个布尔类型,用栈来存不同的那一行,再pop 7、对称的二叉树 递归 8、二叉树的下一个结点 阅读全文
摘要:
1、背景知识 Init进程是Linux环境下非常重要的一个进程,而Zygote进程是Java环境下的第一个进程,所有其他环境下的进程都是由Zygote进程来进行fork的,而init进程在启动Zygote进程之后,初始化Zygote进程之前,会先进行Android Runtime的启动和环境建立。 阅读全文
摘要:
1、布局优化 <include>标签主要用于布局重用,<merge>标签一般和<include>配合使用降低减少布局的层级,ViewStub则提供按需加载的功能,当需要时才会将ViewStub中的布局加载到内存,提供了程序的初始化效率。 <include>标签只支持android:layout开头的 阅读全文
摘要:
1、背景 Java JNI的本意是Java Native Interface(java本地接口),它是为了方便Java调用C、C++等本地代码所封装的一层接口。 NDK是Android所提供的一个工具集合,通过NDK可以在Android中更加方便地通过JNI来访问本地代码C或C++。NDK提供的交叉 阅读全文
摘要:
1、背景 Android中,线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。 除了Thread本身以外,在Android中可以扮演线程角色还有AsynTask和IntentService,同时HandlerThread也是一种特殊的线程。 对于AsynTask 阅读全文
摘要:
1、背景 Handler是Android消息机制的上层接口,通过handler可以轻松地将一个任务切换到Handler所在的线程中去执行。 Handler的作用之一是更新UI,有时候需要在子线程中进行耗时的I/O操作,可能是读取文件或者访问网络等,当耗时操作完成以后可能需要在UI上做一些改变,这时用 阅读全文
摘要:
一、题目给定一个数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法: 要求O(1)空间复杂度和O(n)的时间复杂度; 除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、堆空间和全局静态变量等);请写 阅读全文
摘要:
1、四大组件的运行状态 Android的四大组件中除了BroadcastReceiver以外,其他三种组件都必须在AndroidManifest中注册,对于BroadcastReceiver来说,既可以在AndroidManifest中注册也可以通过代码来注册。 在调用方式上,Activity,Se 阅读全文
摘要:
1、Window基础 Window是一个抽象类,具体实现是PhoneWindow。创建一个Window通过WindowManager实现。Window的具体实现位于WindowManagerService中。 WindowManager和WindowMangerService的交互是一个IPC过程。 阅读全文
摘要:
1、View动画 View动画通过对场景里的对象不断做图像变换(平移,缩放,旋转,透明度)从而产生动画效果,它是一种渐进式动画。 View动画支持自定义。 View动画的四种变换效果对应着Animation的四个子类:TranslateAnimation,ScaleAnimation,RotateA 阅读全文
摘要:
1、ViewRoot和DecorView ViewRoot是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的。 在Activity对象被创建后,会将DecorView添加到Window中,同时创建ViewRoot,将DecorView和Vi 阅读全文
摘要:
一、题目 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4] 阅读全文
摘要:
一、题目 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 二、解法 阅读全文
摘要:
一、题目 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 二、解法 阅读全文
摘要:
一、题目 请实现两个函数,分别用来序列化和反序列化二叉树 二、解法 阅读全文
摘要:
一、题目 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 二、解法 阅读全文
摘要:
一、题目 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 二、解法 阅读全文
摘要:
一、题目 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 二、解法 阅读全文
摘要:
一、题目 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 二、解法 阅读全文
摘要:
一、题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 二、解法 阅读全文
摘要:
一、题目 一个链表中包含环,请找出该链表的环的入口结点。 二、解法 阅读全文
摘要:
一、题目 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 二、解法 阅读全文
摘要:
一、题目 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 二、解法 阅读全文
摘要:
一、题目 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 二、解法 阅读全文
摘要:
一、题目 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1 输入 +2147483647 1a33 输出 阅读全文
摘要:
一、题目 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 二、解法 阅读全文
摘要:
一、题目 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 二、解法 阅读全文
摘要:
一、题目 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任 阅读全文
摘要:
一、题目 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.. 阅读全文
摘要:
一、题目 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a 阅读全文
摘要:
一、题目 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 阅读全文
摘要:
一、题目 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 二、解法 阅读全文
摘要:
一、题目 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快 阅读全文