自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 编程题-- 找出指定数在数组中的范围

1.题目输入一个排好序的整数数组,找到指定目标数的开始和结束位置。如果指定的数字不在数组中,则输出 [-1,-1]。例如,输入数组为[5, 7, 7, 8, 8, 10], 目标数为8, 输出[3, 4].本题会人工判题,要求时间复杂度O(logn) (来源于牛客网欢聚时代在线笔试编程题)2.解法使用二分法寻找目标数的开始和结束位置(注:这里在用二分法找到目标数后不能用线性遍历的方式找开始或结束位置

2017-09-29 15:11:47 1639

原创 java synchronized具有禁止重排序功能

1.结论我们知道volatile关键字具有禁止指令重排序的功能,而且能保证可见性,但不能保证原子性。synchronized关键字则不仅仅能保证可见性,还能保证原子性,那么synchronized关键字是否像volatile那样具有禁止指令重排序的功能呢?答案是肯定的,synchronized具有禁止重排序功能。2.论据出处查找国内文档,发现基本对synchronized的描述很少提及禁止重排序的问

2017-09-15 11:27:21 4996 13

原创 二叉树专题--输出根节点到所有叶子节点的路径

1.题目Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree:  1 /   \ 2  3  \   5 All root-to-leaf paths are: [“1->2->5”, “1->3”]2.解法新建一个名为arrayList

2017-08-29 01:33:40 4933

原创 二叉树编程专题--查找最低公共父节点

1.题目给定二叉树,计算出两个给定的结点的公共结点。2.解法–递归从根节点开始,递归遍历左右子树,查看是否从该节点能遍历到这两个给定的结点中的至少一个,返回能遍历到的指定节点,如果都能遍历到,返回的是最低父节点。当然能否遍历到是依靠下层遍历的结果的。具体看代码:public static Tree beginFind(Tree node, Tree oneNode, Tree anotherNode

2017-08-28 21:07:01 562

原创 java的wait()方法使用注意事项

1.本文解决的问题(1)wait()方法一定要使用sycronized进行同步吗?不用sycronized修饰会有什么问题? (2)wait()方法会释放对象锁,那么这里指的锁是什么? (3)wait()会释放对象锁,而sleep()不会释放对象锁,这在实际情况中有什么区别?2.结论(1)wait()一定要使用sycronized进行同步,否则会报“java.lang.IllegalMonito

2017-08-27 17:48:57 5796

原创 链表编程题专题--Reverse Nodes in k-Group(最后几个节点不足一组的不逆序)

1.题目Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.k is a positive integer and is less than or equal to the length of the linked list. If the number of

2017-08-25 00:56:40 291

原创 链表编程专题--分组逆序链表

1.题目给定单向链表,以k个为一组,组内链表逆序,最后输出链表首节点。例如有单链表A->B->C->D->E->F->G->H,当k=3时,A->B->C逆序为C->B->A,同理D->E->F逆序为F->E->D,G->H逆序为H->G,最后链表就是C->B->A->F->E->D->H->G。2.解法因为要按k个一组,因此要有一个变量记录已经遍历了多少个,遍历到K个或者链表结束的时候,就要开始新

2017-08-24 22:10:58 551

原创 链表编程题专题--删除重复节点

1.题目在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->52.解法本题的“重复”仅仅指的是和前一个节点值重复。具体方法见代码及注释:/* public class ListNode { int val; ListNode next = null; List

2017-08-24 12:02:32 256

原创 链表编程题专题--逆序链表

1.题目描述输入一个链表,从尾到头打印链表每个节点的值。(来源于牛客网)2.解法重点是如何能保持各个节点不丢失,节点之间不成环,逻辑简单,考核代码实现的能力。思路:要记录下当前节点listNode、下一个节点nextNode以及再下一个节点temp,然后将nextNode的next改为当前节点listNode,这样就实现了两个节点逆序。接下来让listNode改为nextNode,nextNode改

2017-08-24 09:40:46 393

原创 网易编程题--操作序列

1.题目小易有一个长度为n的整数序列,a_1,…,a_n。然后考虑在一个空序列b上进行n次以下操作: 1、将a_i放入b序列的末尾 2、逆置b序列 小易需要你计算输出操作n次之后的b序列。 输入描述:输入包括两行,第一行包括一个整数n(2 ≤ n ≤ 2*10^5),即序列的长度。第二行包括n个整数a_i(1 ≤ a_i ≤ 10^9),即序列a中的每个整数,以空格分割。 输出描述:在一行

2017-08-13 10:41:15 447

原创 网易编程题--最大的奇约数

1.题目小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求出 f(1) + f(2) + f(3)…….f(N) 例如: N = 7 f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 + 1 + 3 +

2017-08-12 01:20:24 571

原创 网易编程题--数字翻转

1.题目对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如: 如果 X = 123,则rev(X) = 321; 如果 X = 100,则rev(X) = 1. 现在给出整数x和y,要求rev(rev(x) + rev(y))为多少? 输入描述:输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。 输出描述:输出rev(rev(x) + rev(

2017-08-11 23:05:41 347

转载 网易编程题--暗黑的字符串

1.题目一个只包含’A’、’B’和’C’的字符串,如果存在某一段长度为3的连续子串中恰好’A’、’B’和’C’各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如: BAACAACCBAAA 连续子串”CBA”中包含了’A’,’B’,’C’各一个,所以是纯净的字符串 AABBCCAABB 不存在一个长度为3的连续子串包含’A’,’B’,’C’,所以是暗黑的字符串 你的任务就是计算

2017-08-11 21:02:28 353

原创 网易编程题--跳石板

1.题目小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->

2017-08-11 17:41:15 483

原创 LeetCode 2.Add Two Numbers

2. Add Two NumbYou are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and

2017-08-01 18:11:34 336

原创 如何在csdn的makedown编辑器中将多个图片放在一行

一.问题描述想在csnd写博客的过程中实现如下图所指示的多个图片并排放置的效果,并且可以调节图片的大小:  二.解决方法在makedown编辑器中选择本地或者网站的图片后,会生成如下格式的文本:![这里写图片描述](http://xxxxxx)为了实现图片并排和可缩放,将该格式修改成如下:http://xxxxx" width = "30%" ><img

2017-07-11 18:44:17 1169

原创 Android 设置与外部控件距离(setPadding 和setMargin的使用)

在设计UI过程中,想使图片处于屏幕的特定位置,但发现图片总是在顶端。解决办法:使用setPadding和setMargin

2017-07-11 16:29:23 21645

转载 Java线程池种类及示例

线程池共有四种类型(下文来源):public static ExecutorService newFixedThreadPool(int nThreads) 创建固定数目线程的线程池。可控制线程最大并发数,超出的线程会在队列中等待。public static ExecutorService newCachedThreadPool() 创建一个可缓存的线程池,调用execute 将重

2017-06-28 09:30:11 424

原创 Android task是什么,和栈是什么关系

Android中,task就是包含activity的栈。见官方视频说明:https://developer.android.com/guide/components/activities/tasks-and-back-stack.html截图如下:A task is a stack of activities.(task就是包含activity的栈)

2017-06-27 23:53:52 535

原创 网络协议划分、各协议位于哪一层、三次握手四次挥手

1.网络协议划分如下图:2.各协议位于哪层网络层:IP、ICMP、ARP、RARP、BOOTP传输层:TCP、UDP应用层:FTP、HTTP、DNS、TELNET、SMTP3.TCP/IP三次握手和四次挥手三次握手:客户端发送连接请求报文,服务器端接收到后回复ack报文,并为这次连接分配资源,客户端接收到ack报文后,也回复ack报文,并为这次连接分配资源。三次

2017-06-27 21:59:11 8717

原创 Activity启动模式中SingleTop,不仅仅会调用onNewIntent()

当设置activity启动模式为SingleTop,且被启动的activity已经在栈顶时,不仅仅会调用该activity的onNewIntent()方法,还会调用onPause()和onResume()方法。

2017-04-26 23:42:06 5300

原创 为何volatile不能保证原子性操作

被volatile修饰的变量可以保证该变量的可见性,但并不能保证操作的原子性。当需要使用被volatile修饰的变量时,线程会从主内存中重新获取该变量的值,但当该线程修改完该变量的值写入主内存的时候,并没有判断主内存内该变量是否已经变化,故可能出现非预期的结果。如主内存内有被volatile修饰变量 a,值为3,某线程使用该变量时,重新从主存内读取该变量的值,为3,然后对其进行+1操作,此时该

2017-04-13 09:21:43 4701 3

转载 【转载】java中的ArrayList 、List、LinkedList、Collection关系详解

链接:http://www.cnblogs.com/liqiu/p/3302607.htmljava中的ArrayList 、List、LinkedList、Collection关系详解一、基础介绍(Set、List、Map)Set(集):集合中的元素不按特定方式排序,并且没有重复对象。他的有些实现类能对集合中的对象按特定方式排序。List(列表):集合中的元素按索引位

2017-03-14 09:09:48 674

原创 Android程序锁的实现

1.程序功能介绍本程序实现对特定应用的监听,当特定应用前台运行时,立刻弹出本程序锁应用界面,用户输入正确密码后,才能转到特定应用继续使用,用户点击后退按钮无效,点击home键后,再启动被锁应用后,仍然调用输入密码界面。2.关键知识点定时器timer的使用,查看当前运行程序getRunningAppProcesses()的使用,程序前后台转换moveTaskToFront()  、mov

2016-06-05 15:50:08 2608

原创 android透明UI欺骗的简单实现

1.应用使用方法将本应用运行在后台,当特定的应用启动时,本应用会自动弹出背景透明的界面,覆盖在原应用上,特别是当被覆盖应用启动时是密码输入界面时,透明UI可以欺骗用户,以达到获取用户名、密码等个人信息的目的。2.实现原理本程序使用到透明背景界面的创建、应用后台转前台、定时查找当前运行task和app等功能。3.实现步骤3.1实现透明UI首先实现自己定义的透明主题,在res/

2016-06-02 14:05:40 819

原创 编程遇到android.view.InflateException: Binary XML file line #11: Error inflating class

编写简单的透明界面程序时,Android studio编译显示没有错误,真机运行时弹出错误“android.view.InflateException: Binary XML file line #11: Error inflating class”。检查代码好久,无果,后将代码全部复制到新工程,新工程就能正常运行。晚上没有来实验室,电脑处于待机状态,第二天早上来,再次运行有问题代码,logc

2016-05-26 08:46:34 904

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除