自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2016-04-29 11:28:32 339

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

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

2016-04-28 22:11:56 242

原创 从上往下打印二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:此题为二叉树的层次遍历,借助一个队列就可以了。public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = v

2016-04-28 17:00:37 219

原创 栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。思路:模拟堆栈操作:将原数列依次压栈,栈顶元素与所给出栈队列相比,如果相同则出栈,如果不同则继续压栈,直到原数列中所有数字压栈完毕

2016-04-28 16:14:08 261

原创 顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路: 用左上和右下的坐标定位出一次要旋转打印的数据,一次旋转打印结束后,往对角分别前进和后退一个单位。非递归:public Arr

2016-04-26 23:49:29 223

原创 二叉树的镜像

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10

2016-04-26 22:02:38 214

原创 树的子结构

题目描述输入两颗二叉树A,B,判断B是不是A的子结构。思路: 如果A树种一个节点和B树根节点相同,就递归比较A和B的左右子树节点是否相同。递归算法:public boolean HasSubtree(TreeNode root1,TreeNode root2) { if(root1 == null || root2 == null) return false; re

2016-04-26 20:27:46 223

原创 合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。直接上代码:package cn.yzx.nowcoder;/** * 题目描述 * 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 * * @author yzx * */public class MergeListNode {

2016-04-25 09:42:58 239

原创 反转链表

题目描述输入一个链表,反转链表后,输出链表的所有元素。思路: 从第一个元素截断链表,这两将截断后的两个链表分别称为前面的链表和后面的链表。让后面的链表采用头插入法插入前面的链表。也要注意边界条件。package cn.yzx.nowcoder;import cn.yzx.nowcoder.FindKthToTail.ListNode;/** * 题目描述 * 输入一个链表,反转链表后,输出链表

2016-04-23 12:36:09 240

原创 链表中倒数第k个结点

题目描述输入一个链表,输出该链表中倒数第k个结点。思路: 弄两个指针让他们相距k,当后面的指针跑到链表尾,这时前面一个指针的位置就是要找的节点。注意,边界条件。package cn.yzx.nowcoder;/** * 题目描述 * 输入一个链表,输出该链表中倒数第k个结点。 * @author Administrator * */public class FindKthToTail

2016-04-23 12:32:38 239

原创 【Android UI】音频条形图

这次来实现一个类似在PC上某些音乐播放器上根据音频音量大小显示的音频条形图。运行效果如下:其实现原理就是自定义View,这里就不去真实的监听音频输入,只是随模拟一些数字。如上图所示的静态音频条形图,要实现这样的效果其实就是绘制一个个的矩形,每个矩形之间稍微偏移一点距离即可。我们可以通过循环创建小矩形,再随机产生矩形的高度。下面是具体的实现代码:@Overrideprotected void onD

2016-04-22 23:10:48 2419

原创 调整数组顺序使奇数位于偶数前面

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路一:将数组中所以奇数保存到一个LinkedList中,将数组中所有偶数保存到一个LinkedList中。之后,将奇数的LinkedList先放回原数组,将偶数的LinkedList后放回原数组。public void

2016-04-21 20:27:10 287

原创 归并排序

public class MergeSort { /** * 归并排序 * 简介:将两个(或两个以上)有序表合并成一个新的有序表 即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列 * 时间复杂度为O(nlogn) * 稳定排序方式 * @param nums 待排序数组 * @

2016-04-21 19:49:02 266

原创 创建复合控件

创建复合控件可以很好地创建出具备重要功能的控件集合。这种方式通常需要继承一个适合的ViewGroup,再给它添加指定功能的控件,从而组合成新的复合控件。下面我们就来看看改如何创建一个这样的UI模板。模板应该具有通用性与可定制性。定义属性在values目录下创建一个attrs.xml:<?xml version="1.0" encoding="utf-8"?><resources> <dec

2016-04-20 22:56:11 849

原创 矩形覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路: 2*n的大矩形,和n个2*1的小矩形 其中target*2为大矩阵的大小 有以下几种情形: 1. target <= 0 大矩形为<= 2*0,直接return 1; 2. target = 1大矩形为2*1,只有一种摆放方法,return1;

2016-04-20 11:47:55 264

原创 变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。实现如下:package cn.yzx.nowcoder;/** * 题目描述 * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 * * @author yzx * */public class J

2016-04-19 12:08:06 224

原创 跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。实现如下:package cn.yzx.nowcoder;/** * 题目描述 * 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 * @author yzx * */public class JumpFloor { public stati

2016-04-18 23:53:17 240

原创 斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。实现如下:package cn.yzx.nowcoder;/** * 题目描述 * 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 * F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) * 特别指出:第0项是0,第1项是第一个1。 * @author Adminis

2016-04-18 23:50:30 352

原创 用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。实现如下:package cn.yzx.nowcoder;import java.util.Stack;/** * 题目描述 * 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 * @author Administrator * */public class

2016-04-18 23:47:02 269

原创 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。实现代码:package cn.yzx.nowcoder;/** * 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。 假设输入的前序遍

2016-04-18 14:42:11 194

原创 从尾到头打印链表

题目描述: 输入一个链表,从尾到头打印链表每个节点的值。 实现如下:package cn.yzx.nowcoder;import java.util.ArrayList;import java.util.Stack;/** * 题目描述: * 输入一个链表,从尾到头打印链表每个节点的值。 * @author yzx * */public class PrintListFromTai

2016-04-18 14:40:24 185

原创 【Android UI】自定义TextView实现动态的文字闪动效果

这段时间一直在看自定义View感觉很有意思,今天刚刚看到了一个实现动态的文字闪动效果的自定义TextView,其原理是利用LinearGradient和Matrix来实现的,运行效果如下:要想实现这一个效果,可以充分利用Android中Paint对象的Shader渲染器。通过设置一个不断变化的LinearGradient,并使用带有该属性的Paint对象来绘制要显示的文字。首先,在onSizeCha

2016-04-15 10:16:00 3509

原创 【Android UI】自定义圆形SeekBar和自定义Dialog的结合使用

最近要做一个比较有趣的效果,就是将android手机设置的条形的SeekBar换成圆形的SeekBar,这里我不讲怎么将定制系统的设置rom,但如果有人想了解设置里面的显示可以看看这篇博客,只讲怎么自定义圆形SeekBar和自定义Dialog,虽然网上有很多这方面的资料,但不系统,所以在这里总结下,方面以后观看。自定义圆形SeekBar关于圆形SeekBar我是在GitHub上下载的一个开源项目,项

2016-04-14 16:05:33 4539

原创 【Android基础】消息处理机制原理

所有使用UI界面的操作系统,后台都运行着一个死循环,在不停的监听和接收用户发出的指令,一旦接收指令就立即执行。Looper Message Handler三者之间的关系:当我们的Android应用程序的进程一创建的时候,系统就给这个进程提供了一个Looper,Looper是一个死循环, 它内部维护这个一个消息队列,Loop不停地从消息队列中取消息(Message),取到消息就发送给了Handler,

2016-04-10 20:43:30 283

原创 【Android基础】网络图片查看器

网络图片查看器流程从网络上获取数据: 1. 发送请求:GET 2. 接收服务器端返回的响应数据使用代码实现的步骤: 1. 创建URL,打开一个HTTP的连接; 2. 设置请求头信息:GET(GET、POST) 3. 接收服务器端返回的响应数据,响应码:200 ok,404没有找到资源 ,503服务器端内部错误 4. 把接收的二进制数据转换成图片模版代码//1.

2016-04-10 20:08:05 365

原创 【Android基础】学生管理系统

用户可以输入姓名、性别、年龄三个字段,通过点击添加学生按钮,将学生信息展示到开始为空的ScrollView控件中,ScrollView控件只能包裹一个控件,我这里包裹的是LinearLayout。点击保存数据按钮将数据通过XmlSerializer对象将数据保存到sd卡中,当点击恢复数据按钮时将sd卡文件中的数据读取出来回显到ScrollView中。大概功能就是这样的,下面我们来看看具体的代码吧。因

2016-04-10 19:32:15 5871 3

原创 【Android基础】通过SharedPreferences来保存数据

概述:很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件或者xml进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPref

2016-04-10 16:20:04 411

原创 【Android基础】通过流将文件写入手机data目录

我们通过一个模拟用户登录的界面来将用户的数据写到文件中,之后在用户打开应用时用过读取文件中的信息将数据回显在登录界面。用户登录界面设计代码如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

2016-04-10 15:59:24 7435

原创 【Android基础】文件操作

任何一个项目都少不了对文件的操作,因为项目说到底就是数据的传递和展示,而文件作为数据传递的一种媒介就显示出其重要的地位,下面我们就来讲一下Android中对文件的操作。 文件操作分为: 1. 保存文件到手机内存 2. 读取手机中的文件 3. 把文件存放在SDCard##保存文件到手机内存 1,在上下文中有一个方法叫openFileOutput()方法可以用于把数据输出到文件中

2016-04-10 15:43:14 313

原创 【Android基础】利用布局来拼图

这次我们来讲一个拼图的例子,主要讲解下相对布局。使用布局将下面的碎片排列成一张完整的图片: 完成效果图:

2016-04-09 17:03:05 3814 1

原创 【Android基础】常用的布局和单位的简介

五大布局LayoutLinearLayout 线性布局下面列出的部分常用的属性android:orientation="horizontal" 制定线性布局的排列方式 水平 horizontal 垂直 verticalgravity 控制当前控件内容显示区域layout_gravity 当前控件在父元素的位置Layout_weightSumLayo

2016-04-09 16:39:37 406

原创 【Android基础】四种点击事件

android里面的点击事件有多种实现方式,下面我着重来讲解常用的四种点击事件。 以短信发送器为例 发送短信的核心代码如下,先添加权限:android.permission.SEND_SMS//发送短信的核心代码private void sendMessage() { //1,获取SmsManager SmsManager manager = SmsManager.getDef

2016-04-09 16:14:29 647

原创 【Android基础】电话拨号器

1,到清单文件配置权限: android.permission.CALL_PHONE 2,配置布局文件EditText节点接收输入的电话号码 3,MainActivity中的核心代码:EditText et = (EditText)findViewById(R.id.et_num);String num = et.getText().toString().trim();//创建拨打电话的意图

2016-04-09 15:48:34 375

转载 Android中Styles、Themes、attrs介绍和他们之间的关系

一、Styles和Themes在Android中,style被用来指定窗体或视图的样式,比如视图的宽高、补白(padding)、背景,字体颜色等。style不需我们在代码中进行设置,可以在xml文件中按照DTD格式进行配置。Android中的style其实跟css的思想一样,允许我们把功能实现和外观设计分离开,View配置也提供了html中如id、name属性一样的功能标签style,让我们有能力把

2016-04-06 23:07:23 547

转载 Activity的四种launchMode

launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task。Activity一共有以下四种launchMo

2016-04-05 18:31:15 266

转载 【AndroidManifest.xml详解】Manifest属性之sharedUserId、sharedUserLabel

android:sharedUserId当APK安装的时候,userid这个标志就会产生。APK在设备上的整个生命周期中,这个ID不再改变。不同设备上同一个应用包可能有不同的userid,重要的是在给定的设备上,每个应用包有自己独立的userid。userid的特点:作为APK身份的标识userid对应一个Linux用户,所以不同APK(用户)间互相访问数据默认是禁止的.那么不同APK之间想要

2016-04-05 14:45:38 1540

原创 View的测量

关于几点说明Android中每个Activity包含一个Window对象,这个Window对象就是PhoneWindowPhoneWindow将DecorView设为根View所有View的监听事件都是通过WindowManagerService来进行接收的在显示上屏幕是分两部分的,TitleView和ContentViewsetContentView就是设置ContentView,req

2016-04-04 22:52:13 533

转载 Android中5大布局方式详解

本文章转载自:http://liangruijun.blog.51cto.com/3061169/632532Android中常用的5大布局方式有以下几种:线性布局(LinearLayout):按照垂直或者水平方向布局的组件。帧布局(FrameLayout):组件从屏幕左上方布局组件。表格布局(TableLayout):按照行列方式布局组件。相对布局(RelativeLayout):相对其

2016-04-04 20:03:09 501

原创 对URL的使用

实现代码:import java.net.*;import java.util.*;import java.io.*;public class GetGoogle { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub

2016-04-04 16:08:30 302

原创 用UDP编写网络聊天程序

实现代码:import java.awt.*;import java.awt.event.*;import java.net.*;public class Chat extends Frame { List lst = new List(6); TextField tfIP = new TextField(15); TextField tfData = ne

2016-04-03 00:13:31 1012

精通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关注的人

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