- 博客(28)
- 资源 (10)
- 收藏
- 关注
转载 精选分析listview乱序的原因
最大的想法就是:在进行listview复用的时候,每一个item要进行特殊处理的时候,其他剩下的item也得进行相应的变化处理:三种方法: 1.进行if和else设置处理 2.设置tag将和对象进行一一绑定;
2016-04-26 15:12:02 1043
转载 Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761记得在前面的文章中,我带大家一起从源码的角度分析了Android中View的事件分发机制,相信阅读过的朋友对View的事件分发已经有比较深刻的理解了。还未阅读过的朋友,请先参考 Android事件分发机制完全解析,带你从源码的角度彻底理解(上) 。
2016-04-26 10:58:00 354
转载 Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
转发自郭林博客:http://blog.csdn.net/guolin_blog/article/details/9097463转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9097463其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Androi
2016-04-26 10:28:45 436
原创 Android中View的事件分发机制
view的事件分发机制不仅仅是核心的知识点,也是难点;点击事件的传递规则 点击事件的分发过程由三个很重要的方法来共同完成:dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent;public boolean dispatchTouchEvent(MotionEvent ev);用来进行事件的分发。如果事件能够传递给当前View,那么
2016-04-25 20:36:23 284
原创 【追求进步】不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。分析这个题目:比如如何得到5+17=22这个结果的。实际上,我们可以分为三步进行:1.只做个位相加不进位,此时相加的结果是12;2.5+7中有进位,进位的值是10;3.把前面两个结果加起来,12+10=22;因此如果不能用四则运算,则必须想到用位运算的方法;
2016-04-21 10:50:17 325
原创 【追求进步】求1+2+3+...+n
看着学不懂的网络,脑子都累,最终还是觉得刷算法题目比较舒服!题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。在线代码:尝试用构造函数的方式,但是发现不行:package TestProblem;public class Test08 {
2016-04-20 23:12:34 503
原创 【追求进步】扑克牌顺子
继续之前的每天一个算法题目,不骄不躁,不断练习还是挺好的!题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想
2016-04-19 11:31:36 427
原创 Java中字符串反转的七种方法
突然在想,确实是浮躁了字符串反转的七种方法:在线代码:package test1;import java.util.Stack;public class Reverse { //方法一:递归+字符串截取;不断的进行二分截取,递归返回; /* * 【时间复杂度:】渐渐跟下去就是n,n/2,n/4,....n/2^k,其中k就是循环的次数 由于你n/
2016-04-13 14:19:33 10249 1
原创 【追求进步】左旋转字符串
题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!在线编程:import java.util.*;public class S
2016-04-13 11:33:54 354
转载 动态规划之01背包问题(最易理解的讲解)
转自:http://blog.csdn.net/mu399/article/details/772281001背包问题,是用来介绍动态规划算法最经典的例子,网上关于01背包问题的讲解也很多,我写这篇文章力争做到用最简单的方式,最少的公式把01背包问题讲解透彻。01背包的状态转换方程 f[i,j] = Max{ f[i-1,j-Wi]+Pi( j >= Wi ), f[i-1,j]
2016-04-13 08:10:41 588
原创 2个腾讯百度的智力题
1:智力题:有100个球,两个人顺序抽球,任意抽1-4个球,问是你先抽还是第二次抽能保证使你抽到最后一个球?答案:第二个抽取的可以拿到最后一个球分析:方法一:区间划分,抽取求的范围是1-4.则两个人抽取的范围是2-8.但是8个球不能保证,可以保证的范围是2-5个球,因此,将100个球进行缩小范围是5个球,则要拿到第5个球,则需要拿到第0个球,即就是对方先抽取。方法二:枚举法,从后往前分
2016-04-12 13:54:13 2153
转载 100层楼摔鸡蛋问题
转自:http://blog.csdn.net/niteip/article/details/12789027昨天晚上的笔试题(多益网络),题目描述:某某有2个硬度相同的鸡蛋,所谓硬度,指鸡蛋从m楼摔下不碎,从m+1楼就碎,那么m就是此鸡蛋的硬度。现有一个100层的楼房,鸡蛋碎了就不能再用,请问最坏情况下,最少要实验几次才能测试出鸡蛋的硬度?那么我们很容易想到,第一
2016-04-12 12:15:51 458
原创 【追求进步】和为S的连续正数序列
本题跟蘑菇街面试出的输入指定和为K的任意两个数字在递增数字中:参考一下链接:点击打开链接题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,
2016-04-12 08:35:45 643
原创 【追求进步】数组中只出现一次的数字
题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。在线代码://num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果public class Solution { public void FindNumsAppearOnce(int [] array,int num1
2016-04-11 22:23:44 324
原创 【追求进步】平衡二叉树
即使很晚也要补充每天一个编程题,同学说太慢了,不过按照自己的计划来,一步一步的进步,其实掌握了算法这是最终目的就行,自己适当要回头看看!题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。在线编程:public class Solution { public boolean IsBalanced_Solution(TreeNode root) {
2016-04-11 00:24:07 319
原创 【追求进步】二叉树的深度
临睡前必须把今天的一个算法题目完成了!不然心里不舒服!哈哈。。。。题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。在线编程:/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right =
2016-04-09 23:18:40 389
原创 Java键盘输入一个int数组
在线编程,往往第一步思路好了,结果输入不熟练输入半天,也真是醉了! 一下列出来两个样例输入和输出: 【样例一】 package test1;import java.util.Arrays;import java.util.Scanner;//所有的输入和输出练习public class Main { public static void main(String[] args) {
2016-04-09 09:32:48 53846 4
原创 【追求进步】数字在排序数组中出现的次数
题目描述统计一个数字在排序数组中出现的次数。在线编程:public class Solution { public int GetNumberOfK(int [] array , int k) { /* 排序数组中的思路肯定是二分查找思想,仔细分析:找出中间的数字,比较是不是k,然后分段 中间数字>K,则K出现在前半
2016-04-08 09:52:30 433
原创 【追求进步】两个链表的第一个公共结点
题目描述输入两个链表,找出它们的第一个公共结点。在线代码:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public
2016-04-08 08:17:06 264
原创 【追求进步】数组中的逆序对
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路: 解题思路:第一种:直接求解顺序扫描整个数组。每扫描到一个数字的时候,逐个比较该数字和它后面的数字的大小。如果后面的数字比它小,则这两个数字就组成了一个逆序对。假设数组中含有 n 个数字。由于每个数字都要和 O(n)个数字作比较, 因此这个算法的时间复杂度是 O
2016-04-07 17:15:51 269
原创 【追求进步】丑数
题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。在线编程:public class Solution { public int GetUglyNumber_Solution(int index) { /*
2016-04-06 16:23:06 306
原创 【追求进步】把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。在线代码:import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;public c
2016-04-06 10:42:53 333
原创 解决eclipse闪退
系统安装了两个eclipse,一个是Eclipse sdk为了开发Android的;另一个是Eclipse Java EE 。为了分开练习Java代码;刚开始的时候两个eclipse运行都正常,但后来不知道怎么回事,Eclipse Java EE 便出现打开闪退的现象。修改eclipse.ini无效,参照了网上许多方法也不行。更改环境变量和重装jdk都未解决最后看到博客:最
2016-04-05 12:19:05 578
原创 【追求进步】整数中1出现的次数(从1到n整数中1出现的次数)
题目描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。在线代码:public class Solution { public int
2016-04-05 09:55:52 250
原创 【追求进步】连续子数组的最大和
题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?
2016-04-04 20:20:31 368
原创 【追求进步】腾讯实习生面试题
1.十进制转十六进制【Java代码】:public class Test { public static void main(String[] args) { // 十进制转化为十六进制,结果为C8。Integer.toHexString(200); // 十六进制转化为十进制,结果140。 Integer.parseInt("8C",16); }}【C语
2016-04-03 10:57:57 540
原创 【追求进步】翻转单词顺序列【腾讯笔试题】
题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?在线代码:
2016-04-03 09:52:15 684
原创 【追求进步】数组中出现次数超过一半的数字
属于基本典型的题目,编程的代码必须都掌握必须能够写出来!题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。在线代码:public class Solution { public int Mor
2016-04-01 11:33:19 280
Html中Canvas的各种图形的demo
2016-10-10
android中读取本地文件demo
2015-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人