- 博客(257)
- 资源 (49)
- 收藏
- 关注
原创 京东软开2015笔试:寻找满足条件的整数
题目大意:给出整数N(0 ≤ N ≤ 10^9),找出一个最小的整数Q,使得将Q的每一位相乘之后等于N例如N=18,则Q可能取值为:29(2×9=18),36(3×6=18),63(6×3=18),92(9×2=18) 那么我们只要取最小值29即为结果 输入:整数N(0 ≤ N ≤ 10^9) 输出:如果存在这样的Q,则输出Q,如果不存在,输出-1packa
2014-10-13 13:38:43 1744
原创 【边做项目边学Android】手机安全卫士04_01:界面(Activity)之间的切换,Activity和任务栈
上一回说到,用户选择是否升级,若用户选择不升级,那么就要进入程序的主界面。下面要做的是从splash界面跳转到main界面。 MainActivity创建 1.首先新建MainActivity: package com.liuhao.mobilesafe.ui;import com.liuhao.mobilesafe.R;import android.app.Activity
2014-09-29 13:38:12 2866
转载 【边做项目边学Android】知识点:Android控件系列之对话框AlertDialog.Builder
我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,
2014-09-28 14:05:40 954
原创 【边做项目边学Android】异常处理:android.os.NetworkOnMainThreadException--多线程问题
一切搞定,以为高枕无忧了,结果还是有问题! log开始报错了,获取更新信息异常!!!debug一下,发现Exception:android.os.NetworkOnMainThreadException 这个异常大概意思是在主线程访问网络时出的异常。 Android在4.0之前的版本 支持在主线程中访问网络,但是在4.0以后对这部分程序进行了优化,也就是说访问网络的代码不能写在主线程中了。
2014-09-28 13:55:21 4634
转载 【边做项目边学Android】知识点:Android控件系列之Toast
简介:Toast英文含义是吐司,在Android中,它就像烘烤机里做好的吐司弹出来,并持续一小段时间后慢慢消失。 Toast也是一个容器,可以包含各种View,并承载着它们显示。 使用场景: 1、需要提示用户,但又不需要用户点击“确定”或者“取消”按钮。 2、不影响现有Activity运行的简单提示。 用法: 1、可以通过构造函数初始化: //初始化Toast Toast
2014-09-28 13:43:26 947
原创 【边做项目边学Android】手机安全卫士03:获取更新的服务器配置,显示更新对话框
配置应用程序在手机桌面显示的名称和图标-AndroidManifest.xml: http://schemas.android.com/apk/res/android" package="com.liuhao.mobilesafe" android:versionCode="1" android:versionName="1.0" >
2014-09-28 13:40:17 2155
转载 J2EE系统异常的处理准则
异常的处理是每个Java程序员时常面对的问题,但是很多人没有原则,遇到异常也不知道如何去处理,于是遇到检查异常就胡乱try...catch...一把,然后e.printStackTrace()一下了事,这种做法通常除了调试排错有点作用外,没任何价值。对于运行时异常,则干脆置之不理。 原因是很多开发者缺乏对异常的认识和分析,首先应该明白Java异常体系结构,一种分层继承的关系,你必须对层次结
2014-09-26 13:26:26 1110
原创 【边做项目边学Android】手机安全卫士02:splash界面ui
手机安全卫士项目是跟着黑马的视频做的。 splash是飞洒、飞溅的意思,主要是用于完成一个产品logo显示,期间可以: 后台完成数据库初始化的操作 联网访问服务器,获取服务器最新信息(升级提示) 不同的日期显示出来不同logo,判断当前系统时间,素材一般从服务器上下载下来. 判断时间,根据不同时间显示不同的加载页面 布局文件:splash.xml
2014-09-25 14:33:23 2199 1
原创 百度2015面试:在浏览器地址栏输入URL,按下回车后究竟发生了什么?
作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~ 1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:
2014-09-23 15:51:42 7839
原创 去哪儿2015笔试题:寻找字符串的差异
去哪儿的一道笔试题。给定两个字符串a,b;找出两个字符串中不一样的字符串。如存在于a而不存在于b,则将该字符输出,同时、加一个“-”标记;若存在于b而不存在于a,则输出该字符,同时以“+”标记。若是同时存在于a、b中,则不输出。假设字符串是由字母组成。如:a="abc",b="aabcbc",则输出为"+a,+b,+c";a="abcde",b="bcdef",则输出为“-a,+f
2014-09-23 13:19:45 2441
原创 百度2015测试开发面试:两个字符串的最长公共子序列
给定两个字符串a,b,输出两个字符串的最长公共子序列;如String a = "abcabcde";String b = "bcd123bcde",那么二者的最长公共子序列就是"bcde"。package com.liuhao.acm.exam;public class LongestComSub { public String getLongestComSub(Stri
2014-09-23 12:59:51 1652 3
转载 JS验证上传文件类型
upload 请选择上传文件:function isEmpty(str){ for(var i=0;i<str.length;i++){ if(str.charAt(i)!==" "){ return false; } } return true;}function check(form){ var fileName = fo
2014-09-19 16:32:11 860
原创 【边做项目边学Android】小白会遇到的问题--新建android项目gen目录下未生成R文件
问题描述:如图:解决方法:一。解决方案首选重启eclipse,如果还是未解决的话,可以尝试重新编译工程project-->Clean 二。发现的另一种解决方案,前提是由编译环境改变后引起的R文件消失(jdk1.5更改为jdk1.7) 选中项目右键 Android Tools ---> fix project properties 即可解决 。
2014-09-19 13:52:22 999
原创 【边做项目边学Android】小白会遇到的问题--创建Android项目不自动生成Activity,layout目录为空
问题描述:Android官网下载的adt-bundle-windows-x86-20131030都配置好了,但是创建安卓项目之后不自动生成Activity,创建时已经选了creat Activity。解决办法:换更低版本的adt-v22.0.1,在我的网盘中可以下载到。于是问题解决了。有更好的方法可以告诉我。参考:http://zhidao.baidu.com/
2014-09-19 13:46:44 1799
原创 【边做项目边学Android】小白会遇到的问题--This Android SDK requires Android Developer Toolkit version 23.0.0 or above
问题描述:上一篇降到解决Appcompat_V7问题要降低adt版本,于是就换旧版本22.3.0啊,重新打开Eclipse,立马弹出:This Android SDK requires Android Developer Toolkit version 23.0.0 or above. Current version is 12.0.0.v201106281929-138431.
2014-09-19 13:41:22 6218
原创 【边做项目边学Android】小白会遇到的问题--Appcompat_V7问题
问题描述:首先遇到的问题就是adt版本的选择,sdk版本的选择:adt按非小白朋友说的选了最新的ADT-22.3.0,同时我也把sdk更新到了最新的(嗯,这个要fanqiang,或者找离线包)。很开心啊,觉得可以开始啦,于是新建Android项目,next--》next。。。finish!项目生成!(当然中间要填写东西)项目建成了,发现Eclipse自动生成了一个奇怪的
2014-09-19 13:33:14 2322
转载 Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
方法一:错误:Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds错误提示就是我们限定了部署的时间导致的错误。修改 workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml文件。 (一定到工作目录下去
2014-09-18 20:11:24 14903 1
原创 Java解析字符串表达式--逆波兰表达式的生成
上回讲了如何计算后缀表达式,其实真正的难点在于如何将一个正常的字符串表达式(中缀表达式)变成一个后缀表达式。如将6 * ( 5 + ( 2 + 3) * 8 + 3)变为6 5 2 3 + 8 * + 3 + * 逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式。这个知识点在数据结构和编译原理这两门课程中都有介绍,下面是一些例子:
2014-09-11 14:19:50 5293 2
原创 Java解析字符串表达式--逆波兰表达式的计算
问题来由: 读入一个字符串形式的四则运算表达式,输出对应的计算结果。如读入的是“6 * ( 5 + ( 2 + 3) * 8 + 3)”,那么解析后的输出结果应为288。 思路: 一般的计算过程是这样的,首先计算优先级最高的小括号里面的内容,即“( 5 + ( 2 + 3) * 8 + 3)”, 将“2 + 3”的计算结果并存为A,接着用计算“A*8”,并存为B 计算“5+
2014-09-10 16:17:58 15338
原创 Servlet的生命周期
Servlet生命分为四个阶段: 1.加载 这个阶段由Servlet容器完成。例如tomcat,jetty等。当容器加载一个Servlet后不会立刻实例化它。通常是在用户第一次请求时完成实例化操作。 2.实例化和初始化 在Servlet实例化之后它会调用它的init()方法,在这个方法里可以写上所需的初始化参数,并且该方法只会被调用一次。 *需要注意的是容器创建Servlet实例是通过j
2014-09-09 16:45:06 1622
原创 servlet默认是线程安全的吗
Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。 当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。Servlet容器会自动使用线程池等技术来支持系统的运行,如图1所示。 这样,
2014-09-09 16:33:27 3774
原创 排序算法总结之归并排序
基本思想 设归并排序的当前区间是R[low..high],分治法的三个步骤是: ①分解:将当前区间一分为二,即求分裂点 ②求解:递归地对两个子区间R[low..mid]和R[mid+1..high]进行归并排序; ③组合:将已排序的两个子区间R[low..mid]和R[mid+1..high]归并为一个有序的区间R[low..high]。
2014-09-07 19:39:38 1554
原创 排序算法总结之希尔排序
希尔排序(Shell Sort)是插入排序的一种,其实质就是分组插入排序,该方法又称缩小增量排序,因D.L.Shell于1959年提出而得名。它是对直接插入排序的一种改进,通过加大插入排序中元素之间的间隔,并在这些有间隔的元素中进行插入排序,从而使得数据项大跨度的移动。 基本思想 先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后
2014-09-07 16:12:12 1272
原创 排序算法总结之折半插入排序
基本思想 折半插入排序是对直接插入排序的简单改进,对于直接插入排序而言,当第i-1趟需要将第i个元素插入前面的0~i-1个元素序列中时,总是需要从i-1个元素开始,逐个比较每个元素,直到找到它的位置。这显然没有利用前面0~i-1个元素已经有序这个特点,而折半插入排序则改进了这一点。 对于折半插入排序而言,当需要插入第i个元素时,它不会逐个进行比较每个元素,而是: (1)计算0~i-1索引的中
2014-08-29 18:27:29 6780
原创 排序算法总结之直接插入排序
基本思想 插入排序(Insertion Sort)基本思想是:依次将待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。具体来说,对于一个有n个数据的序列,排序需要进行n-1趟插入操作。 形象来看,每一趟插入操作就像大家玩扑克牌的摸牌阶段,我们使用左手拿着已经摸到并排好大小的牌,右手从牌堆里边摸牌,每摸一张牌就将其插入到左手理顺的牌中,插入后保持其大
2014-08-29 14:33:26 1377
原创 Java版微信公共号开发之分组管理接口
开发者可以使用接口,对公众平台的分组进行查询、创建、修改操作,也可以使用接口在需要时移动用户到某个分组。
2014-08-27 17:21:54 3386 3
原创 排序算法总结之快速排序
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。
2014-08-27 16:27:33 2143
原创 List.add()方法中的陷阱
今天在做微信项目时,发现了一个奇怪的问题,代码如下: JSONObject j = new JSONObject(); List list = new ArrayList(); j.put("author", "1yuqiaotech"); j.put("title", "1测试标题"); //在图文消息
2014-08-26 13:10:20 10606 4
原创 排序算法总结之冒泡排序
冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它的基本思想就是两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 例如:初始序列3,6,4,2,11,10,5;从头开始,两两相比
2014-08-21 13:24:34 2142
原创 排序算法总结之堆排序
堆的概念。 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ ) 满足(1)的称为小根堆,满足(2)的称为大根堆。 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点
2014-08-20 15:58:45 1483
原创 排序算法总结之直接选择排序
概念 每一趟在最后的n-i+1(i=1,2,...,n-1)中取最小的记录作为有序表的第i个记录 优点:算法简单,容易实现 缺点:每次只能确定一个元素 Java实现: package com.liuhao.sort; import java.util.Arrays; //定义一个数据包装类 class DataWrap implements Comp
2014-08-19 11:55:44 2478 1
原创 排序算法总结之排序概述
所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下: 输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。 输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。 1.被排序对象--文件 被排序的对象--文件由一组记录组成。 记录则由若干个数据项(或域)组成
2014-08-19 10:28:58 1055
原创 排序二叉树及其Java实现
定义 排序二叉树的定义也是递归定义的,需要满足: (1)若它的左子树不为空,则左子树上所有节点的值要均小于根节点的值; (2)若它的右子树不为空,则右子树上所有节点的值要均大于根节点的值; (3)左、右子树也分别是排序二叉树 如下图,对于排序二叉树,若按中序遍历就可以得到由小到大的有序序列。 创建 创建排序二叉树的步骤就是不断像排序二叉树中添加新节点(p)的过程: (1)以根节
2014-08-18 16:30:45 7275 1
原创 哈夫曼树(最优二叉树)及其Java实现
一、定义 一些定义: 节点之间的路径长度:在树中从一个结点到另一个结点所经历的分支,构成了这两个结点间的路径上的经过的分支数称为它的路径长度 树的路径长度:从树的根节点到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。 结点的权:在一些应用中,赋予树中结点的一个有某种意义的实数。 结点的带权路径长度:结点到树根之间的路径长度与该结点
2014-08-18 10:50:07 19752 6
原创 Java垃圾收集器
垃圾收集器是内存回收算法的具体实现。下图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。 Serial收集器:串行收集器 一个单线程的收集器,但它的单线程的意义不仅仅是说明它只会使用一个CPU或一条线程去完
2014-08-14 09:13:48 1903 2
转载 POI操作Excel常用方法总结
一、 POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。二、 HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。HSSF 为读
2014-08-04 18:40:08 1046
转载 南京、无锡、苏州三地部分it岗待遇简况
南京1、华为南研所 硕士研发岗应该是税前9k,新员工年终奖估计不会太多,万把块钱吧。但是加班制度和狼性文化让人有所顾忌,这个大家都懂得; 进系统组;8500/月;第一年年终奖大概是1到2个月工资。第二年根据部门效益好的话4-5w。一般2-3w。表现好分配股份。1w股之内。目前合约4w。第三年趋于稳定。后续就是看能够分配多少股。主要从事电信通讯行业、目前过去是做无线城市业务分
2014-08-04 17:28:09 22736
原创 Eclipse SVN插件的帐号、密码修改
问题描述: Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。 解决思路: 既然界面上不能进行修改,那就只有删除subclipse记录的帐号、密码信息,重新输入。 具体步骤: 1. 查看你的E
2014-08-01 12:55:05 1398
原创 git和SVN的区别
1)GIT是分布式的,SVN不是: 这 是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;如果你能理解这个概念,那么你就已经上手一半了。需要做一点声明,GIT并 不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper, Mercurial
2014-07-30 14:12:53 66641 11
Python+Spark 2.0+Hadoop机器学习与大数据实战_林大贵(著)-完整高清 -书签全
2018-11-02
极客时间 《数据结构与算法之美》(1-18)
2018-11-01
超强240页!计算机网络最强导论下篇
2018-10-09
超强240页!计算机网络最强导论上篇
2018-10-09
计算机网络自顶向下方法【第七版】完整高清-非扫描-可搜索-书签全
2018-10-08
MyBatis+Spring+Maven的简单整合Demo
2015-07-07
入门级SSH项目—简易图书管理系统
2014-06-11
Java开发实战经典
2013-03-16
从零开始OPhone游戏编程
2013-03-16
Android应用开发揭秘源码
2013-03-16
数据结构习题解析__殷人昆编著 高清 带索引书签目录_完整版_北京:清华大学出版社_P463_2011.05_12823538.zip
2019-07-06
DevOps实战 VMware管理员运维方法、工具及最佳实践 [(美)罗伯茨等著]-书签完整-高清
2019-03-19
算法设计与分析基础 【第3版】 -完整高清-书签全-[清华大学出版社][423页]
2019-01-18
深度学习入门:基于Python的理论与实现【pdf+源码】完整高清 非扫描 可复制 可搜索 书签全
2018-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人