- 博客(607)
- 资源 (8)
- 收藏
- 关注
原创 [LeetCode]Add and Search Word - Data structure design,解题报告
目录目录思路思路AC代码思路Design a data structure that supports the following two operations: void addWord(word) bool search(word)search(word) can search a literal word or a regular expression string cont
2015-05-18 16:02:31 5819
原创 [LeetCode]Implement Trie(Prefix Tree),解题报告
目录目录概述Trie树基本实现定义Trie树节点添加操作查询word是否在Trie树中AC完整代码概述Trie树,又称为字典树、单词查找树或者前缀树,是一种用于快速检索的多叉数结构。例如,英文字母的字典树是26叉数,数字的字典树是10叉树。 Trie树的基本性质有三点,归纳为:根节点不包含字符,根节点外每一个节点都只包含一个字符。从根节点到某一节点,路径上经过的字符连接起来,为该节
2015-05-15 14:12:30 6203 1
原创 [LeetCode]Course Schedule,解题报告
题目There are a total of n courses you have to take, labeled from 0 to n - 1.Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a pai
2015-05-11 15:37:37 4961
原创 Android Zygote源码分析
目录目录概述zygote分析AppRuntime分析创建虚拟机startVm注册JNI函数startReg进入JAVA世界建立IPC通信服务端registerZygoteSocket预加载类和资源preload启动system_server有求必应之等待请求runSelectLoop概述在Android系统中,所有的应用程序进程,以及用来运行系统关键服务的System进程都是由
2015-04-29 20:33:32 4949
原创 Java反射获取Android系统属性值
目录目录反射定义为何需要反射反射方法MethodgetDeclaredMethod方法getMethod方法参数解释invoke方法Android 反射应用反射定义“反射”(Reflection)能够让运行于JVM中的程序检测和修改运行时的行为。为何需要反射反射带来的好处包括:在运行时检测对象的类型。动态构造某个类的对象。检测类的属性和方法。任意调用对象的方法。修改构造函
2015-04-29 16:20:59 6787
原创 [LeetCode]Nth Highest Salary,解题报告
题目Write a SQL query to get the nth highest salary from the Employee table. Id Salary 1 100 2 200 3 300For example, given the above Employee table, the nth highest salary where n = 2 is
2015-04-28 11:40:12 6343
原创 [LeetCode]Department Highest Salary,解题报告
题目The Employee table holds all employees. Every employee has an Id, a salary, and there is also a column for the department Id. Id Name Salary DepartmentId 1 Joe 70000 1 2 Henry 80
2015-04-25 11:22:32 4746
原创 [LeetCode]Largest Rectangle in Histgram,解题报告
目录目录题目思路一思路二题目Given n non-negative integers representing the histogram’s bar height where the width of each bar is 1, find the area of largest rectangle in the histogram. Above is a histogram where
2015-04-23 11:01:43 3901
原创 [LeetCode]Rank Scores,解题报告
题目Write a SQL query to rank scores. If there is a tie between two scores, both should have the same ranking. Note that after a tie, the next ranking number should be the next consecutive integer value.
2015-04-21 17:19:35 5506
原创 Android init进程——解析配置文件
目录目录init解析配置文件关键字定义kw_is解析K_importK_oncommand执行K_serviceserviceservice结构体parse_serviceparse_line_serviceinit控制serviceinit解析配置文件在解析service服务是如何启动之前,让我们先来学习一下init进程是如何解析init.rc等配置文件的。init进程
2015-04-21 14:30:09 4676
原创 [LeetCode]DeleteDuplicateEmails,解题报告
题目SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id. Id Email 1 john@example.com 2 bob@example.com 3 john@examp
2015-04-17 10:29:51 3920
原创 [LeetCode]Number of Islands,解题报告
目录目录前言题目思路AC代码我的疑问前言利用晚上11点之后的时间刷刷LeetCode也是我的一种休闲方式。不过水这篇博客是因为这道简单的BFS题目我竟然用了13次才AC,最后AC还是因为我参考了别人的答案,稍后我会说一下我对这道题的疑惑。先贴出这道题目我艰难的AC过程: 中间那次313ms的ac答案是我直接把别人的AC代码贴上,因为当时我怀疑这道题目答案是否出了问题。题目Given a
2015-04-15 23:43:15 7313 1
原创 [LeetCode]Duplicate Emails,解题报告
目录目录题目解题思路AC SQL题目Write a SQL query to find all duplicate emails in a table named Person. Id Email 1 a@b.com 2 c@d.com 3 a@b.comFor example, your query should return the following fo
2015-04-14 14:14:13 4637
原创 [LeetCode]Employees Earning More Than Their Managers,解题报告
目录目录题目思路AC SQL题目The Employee table holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id. Id Name Salary ManagerId 1 Joe
2015-04-13 19:42:03 4833
原创 [LeetCode]Rising Temperature,解题报告
目录目录题目思路AC SQL题目Given a Weather table, write a SQL query to find all dates’ Ids with higher temperature compared to its previous (yesterday’s) dates. Id(INT) Date(DATE) Temperature(INT) 1 2
2015-04-13 18:14:47 8310
原创 Java final关键字
final含义final是Java中的一个保留关键字,可以声明成员变量、方法和类。一旦你将引用声明为final类型,你将不能再改变这个引用了。编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。final变量凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫做final变量。下面是final修饰变量的例子:final int constVa
2015-04-09 19:13:18 3932
原创 UNIX Domain Socket IPC
目录目录概述socket函数使用struct sockaddr_unsocketbindlistenacceptconnectSocket IPC 实例serverclient运行结果概述socket API原本是为网络通讯设计的,但是后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(
2015-04-08 01:17:31 6836
原创 [LeetCode]Largest Number, 解题报告
目录目录题目思路AC代码题目 Given a list of non negative integers, arrange them such that they form the largest number. For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330. Not
2015-04-05 12:30:39 4531
原创 [LeetCode]Word Ladder,解题报告
目录目录题目题目Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that:Only one letter can be changed at a time
2015-03-25 11:30:43 4960
原创 [LeetCode]Surrounded Regions,解题报告
目录目录前言题目思路1DFS思路2BFS前言最近这两天为了解决Android Rom适配一个底层的问题,天天熬夜到2点,导致原定了LeetCode刷题计划都受到了影响。昨晚终于熬夜搞定,补充一道LeetCode解题报告。题目Given a 2D board containing ‘X’ and ‘O’, capture all regions sur
2015-03-20 20:11:02 3993
原创 Linux内核数据结构——链表
目录目录简介单向链表双向链表环形链表Linux内核中的链表实现offsetofcontainer_ofcontainer_of 第一部分container_of 第二部分链表初始化向链表中增加一个节点删除节点移动节点判断链表是否为空遍历链表Demo测试tlisthmlistc执行结果简介最近在学习Android Binder驱动程序实现的时候,发现里面的数据结构
2015-03-17 22:02:18 6109
转载 Binder进程间通信机制的Java接口
概述Java代码可以通过JNI方法来调用C/C++代码,因此,Android系统在应用程序框架层中提供了Binder进程间通信机制的Java接口,它们通过JNI方法来调用Binder库的C/C++接口,从而提供了执行Binder进程间通信的能力。 主要从以下几个使用场景来分析Binder进程间通信机制的Java接口:ServiceManager的Java代理对象的获取过程。Java服务接口的定
2015-03-16 12:27:18 4110
原创 [LeetCode]Repeated DNA Sequences,解题报告
目录目录前言题目Native思路二进制思路AC前言最近在LeetCode上能一次AC的概率越来越低了,我这里也是把每次不能一次AC的题目记录下来,把解题思路分享给大家。题目All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: “ACGAATTCCG”. When
2015-03-14 12:09:42 4568
转载 Android编译系统环境初始化过程
目录目录lunch命令的执行过程get-all-product-makefiles_find-android-products-filesget-product-makefileslunch命令的执行过程get-all-product-makefiles函数get-all-product-makefiles定义在文件build/core/product.mk中,如下所示:# # Retur
2015-03-12 16:40:43 1242
原创 Android.mk
目录目录简介CC共享库APKSimple APKBuilding a APK that depends on a static jar fileBuilding a APK that should be signed with platform keyBuild a APK that should be signed with a specific vendor keyAdding
2015-03-10 16:26:02 1241
原创 [LeetCode]Word Break,解题报告
目录目录前言题目DFS动态规划前言过完年回来状态一直就是懒懒散散的,之前想写的年终总结也一直再拖沓。所以,从今天起找回之前的状态,每日的工作计划没完成就不能休息。今天的任务中有两道LeetCode题目,其中一道动态规划的题目稍微难一点,这里记录一下解题过程。题目Given a string s and a dictionary of words di
2015-03-10 09:38:53 3421
原创 Java实现Android客户端版本号比较
目录目录前言关键点Java代码实现前言早上看了一下CSDN博客排名,本周最高排名的文章是:Java实现比较版本号。个人认为这篇文章写的不错,因为Android客户端系统中经常用到版本号比较功能,特别是在应用自升级的情况下。 原博主之所以写这篇文章,是因为考虑到大部分Java程序员可能会采用compareTo这种不靠谱的API调用或者不规则的版本号名称。 而我写这篇文章,是由于对ACM题目的
2015-03-04 15:30:13 6696
原创 [LeetCode]Min Stack,解题报告
目录目录题目思路1AC代码缺陷思路2AC代码题目 Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. push(x) – Push element x onto stack. pop() – Removes the ele
2015-03-02 12:17:31 1813
原创 Android像素单位dp、sp、px、pt的区别和比较
目录结构目录结构前言度量单位含义换算规则前言在分辨率没有牛逼到爆的过去,程序员通常以像素为单位设计计算机用户界面。例如,图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸像素点数更高的新显示器上运行该程序,则用户界面图标会显得很小。在有些极端情况下,用户界面会小到难以看清内容。因为我们在Android应用程序开发中应使用与分辨率无关的度量单位。 Android支持dp、sp、p
2015-02-11 11:56:45 11692 1
原创 Linux修改/etc/hosts
目录结构目录结构hosts文件hosts格式配置hosts文件格式hosts文件作用hosts文件hosts —— the static table lookup for host name(主机名查询静态表)。 hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。在
2015-02-11 00:35:01 47234
原创 Android Toast进阶——自定义Toast
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl B 斜体 Ctrl I 引用 Ctrl
2015-02-11 00:00:36 3864 3
原创 [LeetCode]Binary Search Tree Iterator,解题报告
题目 LeetCode题目如下:mplement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST.Calling next() will return the next smallest number in the
2015-02-09 21:11:40 2288 1
原创 [LeetCode]Find Minimum in Rotated Sorted Array,解题报告
前言 今天来杭州参加百阿培训,住在4星级的旅馆,加上快一月底了我都没有几篇博客产出,所以准备开始水LeetCode题目了,这里介绍一个二分查找的应用。题目Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become
2015-02-03 21:58:31 1420
原创 Android Toast源码分析
前言 这周去杭州参加了百阿培训,见到了传说中的牛人多隆大神。从多隆大神身上看到了做技术人的纯粹,单纯。除了见到多隆大神,这次培训并没有太多的收获,反而培训过程中遇到了好多产品上的Bug,远程办公快累到死。总结一下跟Toast相关的问题,首先从深入学习Toast的源码实现开始。Toast源码实现 我们在使用Toast提示的时候,一般都是一行简单的代码调用,如下所示:
2015-02-01 16:31:29 6537 7
转载 Android进程间通信(IPC)Binder机制——Service Manager
前言 我觉得搞懂Android进程间通信机制也是很牛逼的事情,是比较牛逼的事情我都想去学习。转载一篇老罗关于Android进程间通信的博客,一点点的学习。最近确实是有很多烦心的事情,有些无奈,但是我觉得自己遇到任何事情都应该积极去面对,不逃避。内容 Android系统进程间通信机制Binder的总体架构,是由Client、Server、Service Manager
2015-01-20 17:01:06 1346
原创 Android Intent 源码学习
前言 这篇文章主要是介绍一下Android Intent,并且从Android源码的角度对Intent查询匹配过程进行分析。Intent介绍 Intent的中文是“意图”的意思,而意图是一个非常抽象的概念,那么在Android的编码设计中,如何实例化意图呢?因此Android系统明确指定一个Intent可由两方面属性来衡量。主要属性:包括Action和D
2015-01-06 18:13:46 2539
原创 C语言读写文件
前言 找工作的时候,曾经用C语言练习过一段时间的算法题目,也在几个还算出名的OJ平台有过还算靠谱的排名。之前以为C语言只限于练习一下算法,但是工作中的一个问题解决让我意识到C语言的用处还是非常广泛的。下面介绍一下,如果用C语言来操作文件保存一个字符串,和读取一个字符串。算法中往往都是printf来打印出结果,但是真实工作中往往通过文件来进行一些持久化的存储工作。C-File
2015-01-05 17:20:13 2680
原创 Android使用adb抓完整Log
前言 最新项目里一直在做 Android RIL 方面的研究,非常最终项目还是未能解决通信底层模块的问题,但是在使用adb抓log上还是有一些收获的,这里记录一下。Log分类 Android日志主要分为kernel、radio、event、main这四种log。Kernel Log kernel log属于Linux内核的log ,可以通过读取/pro
2014-12-29 08:41:31 48519 1
原创 Bash Shell 递归实现目录中文件拷贝
前言 今天工作中遇到了一个问题,如果将目录A中的文件拷贝到目录B中(前提目录B没有该文件),并保持文件在目录A的结构。项目重点如下:需要在目录B中保持文件在目录A中的结构。假设A目录文件 A/test/1.txt,转移到目录B中应该是B/test/1.txt。同时还需要考虑目录B中是否存在test目录,多级目录就要考虑递归了。(还好,bash shell里写个目录递归遍历还是
2014-12-17 22:39:26 5883 2
原创 Java类静态属性、静态块、非静态属性、非静态块、构造函数在初始化时的执行顺序
前言 今天在看Android ContentProvider实现的时候,突然想到了Java类在new的过程中,静态域、静态块、非静态域、非静态块、构造函数的执行顺序问题。其实这是一个很经典的问题,非常考察对Java基础知识的掌握程度。很多面试过程中相信也有这样的问题,趁着周末有时间复习一下。结论 这里先把整理好的结论抛给大家,然后我在写个程序来验证我们的结论。在Ja
2014-12-15 00:07:49 3897
windows scoket编程
2011-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人