自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王明海的专栏

HI,一起出来玩吧!

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 基本数据类型的使用

1、避免使用“神秘数值”或“神秘字符”,如100,47523以及‘A’,‘C’等,涉及具体数字或者字符的最好用常量来代替。如if(a == Type)就比if(a == 1)明确得多if(input_char == ESCAPE)就比if(input_char == 0x1B)明确2、类型转换的时候要用显式转换,如:y = x+(float)i,这样有助于确认你是知道发生转换的。 3、尽量不要让

2015-10-31 23:21:23 415

原创 android自定义对话框

对话框是android开发中用的比较多的控件,一般都是用来提示,但是对话框的功能不局限于提示,还可以自定义对话框让用户进行选择。如下图,当点击按钮时,弹出对话框让用户选择: 那么该如何实现这样的功能呢?(以下步骤不分先后) 1、在项目res/layout文件夹下创建自定义对话框的布局文件,如item_dialog.xml<?xml version="1.0" encoding="utf-8"

2015-10-31 21:08:12 510

原创 必懂的公式定理--二叉树的性质

1、一般二叉树的性质 性质1、在非空二叉树的i层上,至多有2^i个结点。 性质2、高度为K的二叉树中,最多有2^(k+1)-1个结点。 性质3、对于任何一棵非空的二叉树,如果叶结点的个数为n0,度为2的结点个数为n2,则有n0=n2+1。 2、完全二叉树 定义:如果一棵二叉树中,只有最下面的两层结点度数小于2,其余各层结点度数都等于2,并且最下面一层的结点,

2015-10-31 19:32:08 7241

原创 计算阶乘中0的个数

题目: 1、给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N=3628800. N的末尾有两个0 2、求N!的二进制表示中最低位1的位置1、分析:阶乘虽然大,但是求0的个数只有2x5,4x5,6x5,8x5才有0,但是5的数目最小,且都 要用到5,即可转化为求N!中5的个数 若N = 5,则5的个数为1个

2015-10-31 14:59:07 2238

原创 不可不知的android开发冷知识2

1、ScrollView添加内容后自动滑动到底部,需要用到ScrollView的fullScroll(ScrollView.FOCUS_DOWN);但是需要用Handler对象来调用更新,因为添加view的时候,ScrollView还没 有刷新,需要等待消息处理完,如果直接调用fullScroll(),不会报错,但是会得不到想要的效果。2、往ListView中插入新数据后只需要调用adapte

2015-10-30 22:35:11 504

原创 求子数组的最大乘积

题目:给定一个长度为N的整数数组,只允许用乘法,不允许用除法,计算任意(N-1)个数的组合中乘积最大的一组,并写出算法的时间复杂度思路:可以理解为从一个数组里去掉某一个数使得数组最大,数组里面有正数,负数,0,可以分为几种情况      数组里面有0的情况: 1、如果数组里面有一个0,负数个数是偶数,那么总值必为0,此时去掉0可以达到最大值 2、如果数组里面有一个0

2015-10-30 17:54:01 514

原创 android自定义Button

有的时候我们不想自己的程序按钮都长的一样,这样太单调了,那么应该如何定制自己的按钮呢?首先在工程的drawable目录下新建一个.xml文件,这里以btnshape为例,选择shape标签,然后在标签内定义多个属性,如下: <gradient android:angle="45" android:startColor="#ffccff"

2015-10-29 20:00:11 608

原创 求两个数最大公约数

题目:    写一个程序,求两个正数的最大公约数。如1100100210001,120200021,求其最大公约数分析:设两个数分别为x,y      求其最大公约数f(x,y),如果有x%2==0而y%2不等于0,那么可以 约简为f(x/2,y),同样道理适用于y 如果x与y都是偶数,那么最大公约数可以为f(x/2,y/2)*2 如果x与y都是奇数,那么最大公约数可以为f

2015-10-29 19:28:15 557

原创 数据结构笔试题---栈

1、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6一次压入栈S,一个元素出栈后即进入队列Q,若出队列的顺序为e2、e4、e3、e6、e5、e1,则栈S的容量要求最小值为()A、2      B、3C、4 D、5解析:

2015-10-28 21:06:56 2855

原创 变量名的力量

曾经在网上看到的一句话:“一个好的程序员往往不需要添加过多的注释,因为他编写的代码就是注释。“一个好的变量名是可读的,易记的和恰如其分的。如何才能称为好的变量呢?好的变量应该有如下两个特征:1、容易理解2、长度在8到20个字符之间。例如:currentDate和todaysDate就很准确地表达了”当前日期“这一时间概念,而cd或者current这样的变量名就很难让人理解。x、x1

2015-10-28 20:30:21 462

原创 求一个数二进制中1的个数

题目:    对于一个字节的无符号整形变量,求其二进制表示中“1”的个数,要求算法的执行效率尽可能高分析:其实很简单,对于8这样的一个数,其二进制1000,其1的个数为1.          可以将它与它减1的数相与,这样相当于1000与0100相与一次,结果为0 对于10,其二进制1010,其1的个数为2 按照上术的思路,1010与1001相与一次结果为1000 

2015-10-28 19:52:18 399

原创 不可不知的android开发冷知识1

1、Toast显示时长只有2种设置:Toast.LENGTH_LONG和Toast.LENGTH_SHORT,分别为3.5S和2S。第三个参数API文档虽然写了是时间,但是在Framework里作了重定义。2、Intent传递数据时,除了可以传递基本数据外,还可以传递对象,但是对象需要实现Serializable接口或者Parcelable接口,由于File实现了Serializable接口,

2015-10-27 21:08:29 680

原创 求数组的子数组之和的最大值

题目:     一个有N个整数元素的一维数组,这个数组当然有很多子数组,那么子数组之和的最大值是什么呢?例如有如下数组,-2,5,3,6,4,-8,6那么最大子数组是5,3 最大值是8思路:可以把每个正数的子数组求出来,分别计算最大值,取最大的,如例题数组有3个正数的子数组      分别为5,3   6   和 8 ,最大值是 5,3 的子数组 以上为错误思路

2015-10-27 19:03:53 678

原创 6174的问题

例:输入1234假设你有一个各位数字互不相同的四位,把所有数字 从大到小排序后得到a,从小到大排序后得到b.然后用a-b代替原来的这个数,然后继续操作,例如,从1234出发,依次得到4321-1234=3078等。最后得回自己。样例:1234输出:1234->3087->8352->6174->6174->6174思路:可以先用求余的方法将所输入的数变为数组,再经过排序将两个数

2015-10-26 22:22:59 570

原创 const,#define等的区别

1、#define,const的区别①、编译器处理方式不同define宏是在预处理的时候展开并且没有类型,不会做任何类型检查,而const是在编译运行的时候使用,在编译的时候会进行类型检查,并且可以调试。②、存储的方式不同系统会给const变量分配一个静态区域的内存地址,所以在程序运行中const变量只有一个拷贝。而#define定义的宏只是一个立即数,在程序运行中有多个拷贝,因此

2015-10-24 19:02:12 321

原创 判断一个数是不是2的幕

判断一个数n是否为2的幂,只需要判断n&(n-1)是否为0,若为0,则为2的幂。因为二进制的位数刚好是按2的幂数展开的。一个数是否为2的幂,则其除了首位外其他位数都应该是0;例如:4 8为    0100           1000     &0011        & 0111-------  -----------   0000      0000

2015-10-24 18:46:48 459

原创 八大排序的java实现(上)

1、冒泡排序冒泡排序属于交换排序的一种,是基本的排序算法,最坏的时间复杂度为O(n²),最好的时间复杂度为O(n²),平均时间复杂为O(n²)。以下是百度百科对算法过程的描述:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有

2015-10-07 22:51:35 1021

原创 Android学习之Activity

1、什么是Activity?Activity和Window、View的区别是什么?     Activity是和用户交互的界面,即我们看得见的最大的那部分。Window是窗口,负责承载View,每个Activity对应一个Window,Window下有一个ViewRoot,可以通过这个ViewRoot添加View。View是视图,用于显示各种组件和布局。2、Activity中如何隐藏上

2015-10-07 17:06:22 1133

android反编译工具.zip

文件夹内包含apktool工具、dex2jar工具、jdgui工具。apktool用于反编译apk资源,dex2jar工具用于反编译dex代码,Jdgui工具查看反编译后的dex代码。

2019-08-22

空空如也

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

TA关注的人

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