自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android中一些优秀的博文(看过的)

此微博为我看过的一些优秀博客,从今天开始一定要提醒自己更新,便于总结自己学过的知识。一、Android 基础1.Android Fragment 真正的完全解析(上) 链接:http://blog.youkuaiyun.com/lmj623565791/article/details/379709612.Android,对话框定时自动关闭的实现 链接:http://blog.youkuaiyun.com/gavinmi

2016-06-15 21:47:14 426

原创 Android Settings源码流程分析

前一段时间一直在看Android的Settings源码,现在来总结下。我只总结下基本的流程,至于具体的分析我会给出我看过的比较优秀的博文的链接。一、Settings源码的路径Settings路径:packages\apps\Settings 由此路径可以看出Settings也是一个app,只不过是一个系统的app,由于是一个app所以可以单编。二、Settings的主界面我们先看看清单文件,来找到

2016-06-14 11:06:28 4013 2

原创 一些优秀的学习网站(Android)

突然发现自己学习没有总结,从今天开始会持续更新此博文,总结自己的学习情况,也便于自己时常查阅。一、GitHub部分1.我的github仓库地址收藏了我常看的开源项目和优秀博文。 github地址:https://github.com/yzhixiang?tab=repositories2.android sdk 源码解析——旨在帮助Android开发者更好的学习Android!此博文在持续更新源码

2016-06-13 17:08:48 20268 1

原创 二叉树平衡检查

题目描述实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。 给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。思路一: 用递归来遍历计算每个节点左右子树的高度,最后比较差值。时间复杂度O(N logN)。public boolean isBalance(TreeNode root) { if (

2016-08-30 13:42:51 521

原创 猫狗收容所

题目描述 有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养所有动物中最早进入收容所的,第二种为选择收养的动物类型(猫或狗),并收养该种动物中最早进入收容所的。 给定一个操作序列int[][2] ope(C++中为vector<vector<int>>)代表所有事件。若第一个元素为1,则代表有动物进入收容所,第二个元素为动物的编号,

2016-08-30 12:10:49 844

原创 访问单个节点的删除

题目描述实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。 给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true思路: 直接将后继节点的数据复制到当前节点,之后删除后继节点即可。public boolean removeNode(ListNode pNode) { if (pNode.next == null || pNode == null

2016-08-13 10:43:07 774

原创 翻转子串

题目描述假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。 给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。 测试样例: “Hello world”,”world

2016-08-12 13:11:43 430

原创 清除行列

题目描述请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[]mat和矩阵的阶数n,请返回完成操作后的int[][]方阵(C++中为vector>),保证n小于等于300,矩阵中的元素为int范围内。 测试样例: [[1,2,3],[0,1,2],[0,0,1]] 返回:[[0,0,3],[0,0,0],[0,0,0]]题目分析: (1)题目

2016-08-12 10:54:15 396

原创 像素翻转

题目描述有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。 测试样例: [[1,2,3],[4,5,6],[7,8,9]],3 返回:[[7,4,1],[8,5,2],[9,6

2016-08-11 16:25:45 926

原创 确定两串乱序同构

题目描述给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。 给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。 测试样例: “This is nowcoder”,”is This nowcoder”返回

2016-08-03 15:39:29 460

原创 确定字符互异

题目描述请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。 测试样例: “aeiou”返回:True “BarackObama”返回:False思路一:

2016-08-02 23:47:29 1171

原创 【Android UI】ListView的使用和简单优化

ListView是每个app中都要使用的,所以今天我来总结下ListView的使用和一些简单的优化。 先看下运行效果: 一、创建数据库为了模拟数据,这里将数据保存数据库中,顺便复习一下SQLite的知识,将数据保存到数据库的好处就是很容易模拟网络请求的延迟。1.创建数据库打开帮助类BlackNumberDBOpenHelper,它继承自SQLiteOpenHelperpackage com.yz

2016-07-05 21:51:43 2192 1

转载 eclipse 和 android studio 快捷键对比

操作studioeclipse debug/run计算变量值alt+F8ctrl+shift+I跳到下一步F8F6跳到下一个断点shift+F8F8进入到代码F7F5停止运行Ctrl+F2

2016-07-01 09:39:08 1272

原创 不用加减乘除做加法

default.xml中名称 类型 settings数据库列名 意义 def_dim_screen bool dim_screen 是否自动关屏,默认true def_screen_off_timeout integer screen_off_tim

2016-06-27 15:57:41 355

原创 Android系统中默认值的意义列表

系统中默认值的意义列表 序号 default.xml中名称 类型 settings数据库列名 意义 1 def_dim_screen bool dim_screen 是否自动关屏,默认true 2 def_screen_off_timeout integer sc

2016-06-21 15:40:57 4313

原创 孩子们的游戏(圆圈中最后剩下的数)

题目描述每年六一儿童节,NowCoder都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为NowCoder的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下

2016-06-20 14:43:43 1363 1

原创 Android 修改系统默认时间为24小时格式

由于项目需要,要将Android系统的12小时的时间格式修改为默认为是24小时的时间格式。android系统第一次开机决定系统的时间格式的代码在frameworks层的SettingsProvider应用中。 1.在defaults.xml中添加相应代码。 在frameworks\base\packages\SettingsProvider\res\values\defaults.xml文件中添

2016-06-15 22:09:41 6647

原创 调整Android手机的默认亮度

Android的默认亮度值保存在settings.db数据库中,数据库的列明为def_screen_brightness。Android中SettingsProvider中保存了系统常用的数据,除了有默认亮度值def_screen_brightness,还有很多默认的值,可以一一查证,在此就不一一解释了,也没有去弄懂每个值得对应含义。下面,我就来简单说明一下修改系统默认亮度值得方法。 调整手机的默

2016-06-15 21:12:01 3504

转载 必须知道的20个正则表达式

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。下面是@技匠整理的,在前端开发中经常使用到的20个正则表达式。正则表达式经常被用于字段或任意字符串的校验。1.校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。^(?=.*\d)(

2016-06-14 11:38:43 1337

原创 和为S的两个数字

题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。思路一: 在第一个第二个位置搞两个指针,首先让第二个指针走到满足条件的最大位置,就是刚刚大于或等于S的位置,之后就是首位一次递加递减来判断。public ArrayList<Integer> FindN

2016-06-04 16:08:30 1105

原创 和为S的连续正数序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述: 输出所有和为S的连续正数序列。序

2016-05-25 12:00:33 1699

原创 数组中只出现一次的数字

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路: 此题考察的是异或运算的特点:即两个相同的数异或结果为0。 此题用了两次异或运算特点: (1)第一次使用异或运算,得到了两个只出现一次的数相异或的结果。 (2)因为两个只出现一次的数肯定不同,即他们的异或结果一定不为0,一定有一个位上有1。另外一个此位上没有1,我们可以根据此位上是否有1

2016-05-24 22:37:22 313

原创 二叉树的深度和平衡二叉树

求平衡二叉树二叉树要用到二叉树的深度,所以将这两个算法放在一起。首先来看球二叉树的深度。 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路比较简单,就是递归比较左右子树的高度值,取较大的值。//二叉数的数据结构public class TreeNode { int val = 0;

2016-05-17 12:03:06 2405

原创 数字在排序数组中出现的次数

题目描述统计一个数字在排序数组中出现的次数。思路一: 暴力求解,遍历,累加和k值相等的个数。public int GetNumberOfK(int [] array , int k) { if(array.length == 0) return 0; int res = 0; for(int i=0;i<array.length;i++){ if(array

2016-05-13 23:09:57 237

原创 数组中的逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路一: 暴力破解,通过两次for循环来判断。public int InversePairs(int [] array) { if(array.length<2) return 0; int nums = 0; for(int i=0;i<ar

2016-05-13 14:46:51 255

原创 第一个只出现一次的字符位置

题目描述在一个字符串(1<=字符串长度<=10000,全部由字母组成,都是大写或者小写)中找到第一个只出现一次的字符的位置。若为空串,返回-1。位置索引从0开始思路一: 暴力求解,将字符串转化为char数组,之后用嵌套for循环找到第一个不重复的,期中用int数组保存重复的位置标记出来,以便后面重新遍历。public int FirstNotRepeatingChar(String str) {

2016-05-12 12:21:25 577

原创 丑数

题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。package cn.yzx.nowcoder;import java.util.ArrayList;/** * 题目描述 * 把只包含因子2、3和5的数称作丑数(Ugly Number)。 * 例如6、8都是

2016-05-12 09:12:52 291

原创 把数组排成最小的数

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路: 先将两个int的数字分别组合成两个不同的字符串,然后将字符串比较,最后将排好序的字符串数组拼接出来。关键就是制定排序规则。public String PrintMinNumber(int [] numbers

2016-05-09 15:43:21 346

原创 连续子数组的最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?思路一: 要注意

2016-05-07 14:49:07 509

原创 最小的K个数

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路一: 先将整个数组排序,之后取其中的前k个。public ArrayList<Integer> GetLeastNumbers_Solution(int[] input, int k) { ArrayList<Integer> res = new Array

2016-05-06 23:33:05 275

原创 数组中出现次数超过一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路一: 暴力法,循环遍历每个数,并计算此数的出现的次数,如果大于一般就直接返回并终止遍历,因为大于一般的数只有一个。public int MoreThanHalfNum_Solut

2016-05-06 13:28:51 482

原创 字符串的排列

题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解题思路:本题我用的回溯法,此方法有全排序的模板代码,但是要深入思考才能真正理解。import java.

2016-05-06 09:40:08 326

转载 onCreate()方法中获取View的宽高为0的原因及解决方法

如果需要开发一些需要依赖UI控件的宽度和高度的功能,很多人可能会用到View的getHeight()和getWidth()方法。对于新手来说这里会有一个小小的陷阱需要注意。如果你试图在onCreate()方法里获取控件的宽高时,发现返回值是0。为什么会是这样的呢。因为当onCreate()方法被调用的时候会通过LayoutInflater将xml文件填充到ContentView。填充过程中只包括创建

2016-05-05 17:53:48 1182

原创 二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路1:用递归将中序遍历数列存到一个队列中,之后循环出队列实现双向链表。//中序遍历就是已经排序号的数列public TreeNode Convert(TreeNode pRootOfTree) { if(pRootOfTree == null) return null

2016-05-03 17:08:01 272

原创 【Android UI】动态改变ListView布局

当点击了Item时,其布局文件发生改变来达到一个Focus的效果。一般有两种方法。一种是将两种布局文件写在一起,通过控制布局的显示。隐藏,来达到切换布局的效果;另一种则是在getView()的时候,通过判断来选择加载不同的布局,这样就要在每次点击操作后刷新布局,重写调用getView(),使用notifyDataSetChanged()方法来实现。运行效果:

2016-05-03 11:34:18 2385

原创 【Android UI】具有弹性的ListView

要实现的效果就是,滑动ListView到顶部或者底部时会继续向上或者向下滑动一段距离。效果如下: 通过查看ListView源码,ListView中有一个控制滑动到边缘的处理方法,如下所示:protected boolean overScrollBy(int deltaX, int deltaY,

2016-05-03 11:20:00 380

原创 【Android UI】自动显示、隐藏布局的ListView

先描述一下要实现的效果:当我们在ListView上滑动的时候顶部的ActionBar或者ToolBar就会相应的隐藏或显示。滚动前的界面滚动后的界面要实现此效果,关键就在于如何获得ListView的各种滑动事件,所以要借助View的OnTouchListener接口监听ListView的滑动,以判断显示或隐藏ToolBar。首先,需要给ListView添加一个HeaderView,避免第一个Item

2016-05-03 10:52:05 1081

原创 【Android UI】ListView使用ViewHolder模式提高效率

ViewHolder模式是提高ListView效率的一个很重要的方法。ViewHolder模式充分利用了ListView的视图缓存机制,避免了每次在调用getView()的时候都去通过findViewById()实例化控件。根据测试,使用ViewHolder将提高50%以上的效率。使用方式是在Adapter中定义一个内部类ViewHolder,并将布局中的控件作为成员变量。public final

2016-05-03 10:20:55 547

转载 二叉树中和为某一值的路径

题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。package cn.yzx.nowcoder;import java.util.ArrayList;/** * 题目描述 * 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 * 路径定义为从树的根结点开始往下一直到叶

2016-04-29 11:28:32 359

原创 二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,前一段(左子树)小于x,后一段(右子树)大于x,且这两段(子树)都是合法的后序序列。完美的递归定义 : ) 。p

2016-04-28 22:11:56 263

精通D3 js第二版书籍源码

精通D3 js:交互式数据可视化高级编程书籍源码

2017-08-28

精通D3.js书籍源码

精通D3 js:交互式数据可视化高级编程数据源码

2017-08-28

bcb6.hlp, C++ builder 6.0 Help Files帮助文件完整版

完整的Borland C++ Builder完整help文件,直接替换Help文件就可以使用了

2016-11-08

Android编程权威指南第二版源码

Android编程权威指南第二版源码

2016-05-26

空空如也

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

TA关注的人

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