- 博客(97)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 收藏别人的博客
1、网络协议2、深入Java虚拟机3、Java并发编程系列另一个大神并发4、LeetCode总结LeetCode题库解析5、Thinking In Algorithm6、操作系统学习笔记7、Java TCP/IP Socket 编程学习笔记系列8、计算机专业面试github上的9、数据库面试题、java基础面试题数据库相关10、向主考官提出的10个漂亮的问题11、算法设计与分析12、大神博客13、s
2016-05-27 14:50:48
563
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指Offer(java答案)
剑指Offer(java答案)剑指Offerjava答案5从尾到头打印链表6重建二叉树33把数组排成最小的数34丑数35第一个只出现一次的字符36数组中的逆序对37两个链表的第一个公共交点38数字在排序数组中出现的次数39二叉树的深度扩展题判断二叉树平衡40-数组只指出现一次的数字异或去重11-1000放在含有1001个元素的数组中只有唯一的一个元素值重复其它均只出现一次每
2016-04-12 21:23:22
21168
5
原创 SSM学习笔记
1、Spring学习Spring系列文章Spring学习笔记 - 01Spring学习笔记 - 02Spring学习笔记 - 03Spring学习笔记 - 04Spring学习笔记Spring学习01:控制反转(IOC)与依赖注入(DI)Spring学习02:面向切面编程(AOP)Spring学习03:数据库操作模板JdbcTemplateSpring学习04:事务...
2020-04-07 17:55:07
335
转载 Android Studio配置阿里云镜像地址
背景:平时安卓项目编译较慢,其中一个原因就是要下载依赖资源包比较慢。为了解决这个问题,可以配置阿里云镜像,加速下载。配置方法:对特定项目生效,在项目中的build.gradle修改内容buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/pub...
2019-07-16 23:34:42
3409
原创 欢迎使用CSDN-markdown编辑器
markdown基本用法学习使用目录markdown基本用法学习使用Android一些小demo案例用于巩固Android知识1ActivityLifeCycleAndroid一些小demo案例,用于巩固Android知识。1、ActivityLifeCycle:无序标题asd有序列表数字+.Green 引用这是一个链接 链接地址.这是 加粗重点词 的方法一行代码:npm instal
2017-07-18 10:41:45
401
原创 Android Studio 快捷键
ctrl + Q 查看文档ctrl + F,ctrl+shift+F 查找本页及查找整个文件下ctrl +R,ctrl+shift+R
2017-06-20 23:09:04
354
原创 List集合如何删除对象
//如果在循环的过程中调用集合的remove()方法,就会导致循环出错,例如: for(int i=0;i<list.size();i++){ list.remove(...); } 循环过程中list.size()的大小变化了,就导致了错误。 所以,如果你想在循环语句中删除集合中的某个元素,就要用迭代器iterator的remove()方法,因为它的remove()方法不仅
2016-09-29 16:04:03
2991
原创 各种遍历总结
1、 二叉树的层次遍历import java.util.LinkedList; public void levelIterator(BiTree root){ if(root == null){ return ; } LinkedList<BiTree> queue = new LinkedList<BiTree>(); BiTr
2016-09-10 11:19:19
373
原创 Trie树
1. Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有3个基本性质:根节点不包含字符,除根
2016-09-03 21:40:32
322
原创 面试题集锦
1、给定N张扑克牌和一个随机函数,设计一个洗牌算法假定N=54,首先,我们有一个随机函数发生器,能够产生1-54之间的随机数,如何保证抽第一张牌是54中可能,抽第二张牌是53中可能,…… 可以这样做,假设扑克牌是一个54维的数组card, 我们要做的就是从这个数组中随机取一个元素,然后在剩下的元素里再随机取一个元素… 这里涉及到一个问题,就是每次取完元素后,我们就不会让这个元素参与下一次的选取。
2016-09-03 11:49:20
316
原创 好题集锦
1、如何仅用递归函数和栈操作逆序一个栈 一个栈依次入栈顺序为12345,从栈顶到栈底是54321,若要从栈顶到栈底是12345,即逆序,怎么做,只能用递归函数,不能用其他数据结构 public static void reverse(Stack<Integer> stack){ if(stack.isEmpty()){ return;
2016-08-27 22:22:19
596
原创 设计模式
1单例模式2简单工厂 模式3策略模式4工厂方法模式5抽象方法模式6装饰模式7代理模式8观察者模式9适配器模式(1):单一职责原则 定义: 一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。(2):里氏替换原则 任何基类可以出现的地方,子类一定可以出现只有当衍
2016-07-29 11:40:37
509
原创 java类集
一List二MapTreeMapWeakHashMap2fail-fast3LinkedList主干:Collection和Map。1 Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。Collection包含了List和Set两大分支。(01) List是一个有序的队列,实现类有LinkedList, ArrayList, Vector, Stack。(
2016-07-26 12:42:51
396
原创 java异常机制剖析
一、为什么要使用异常首先我们可以明确一点就是异常的处理机制可以确保我们程序的健壮性,提高系统可用率。虽然我们不是特别喜欢看到它,但是我们不能不承认它的地位,作用。有异常就说明程序存在问题,有助于我们及时改正。在我们的程序设计当做,任何时候任何地方因为任何原因都有可能会出现异常,在没有异常机制的时候我们是这样处理的:通过函数的返回值来判断是否发生了异常(这个返回值通常是已经约定好了的),调用该函数的程
2016-07-22 10:41:48
718
原创 n个元素进栈,共有多少种出栈顺序
1.基于栈的问题分析我们把n个元素的出栈个数的记为f(n), 那么对于1,2,3, 我们很容易得出: f(1) = 1 //即 1 f(2) = 2 //即 12、21
2016-07-18 22:50:37
8618
2
转载 流密码及RC4算法
一、什么是密码系统及流密码?密码系统(cryptosystem)是一套用来实现某种形式的加密及解密的算法,他分为两大类:私钥密码系统和公钥密码系统。私钥密码系统是指是指加密者和解密者(可以都是自己呵呵)在某些私有的信息上预先做了约定,来进行加密解密,如果有第三方知道了这私有信息(私钥),加密就没有意义了。公钥密码系统是指发送信息的人用对所有人公开的信息(公钥)来对信息加密后发送,接收方接到信息后用私
2016-07-18 14:55:56
8777
原创 WebView和HTML中的JS交互
第一步:package com.yqy.myresume.activity.share;import android.annotation.SuppressLint;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.webkit.JavascriptInte
2016-07-12 15:59:51
364
原创 Android ImageView的scaleType属性与adjustViewBounds属性总结
ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY1、android:scaleType=”center”保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。2、android:sc
2016-07-11 20:35:19
406
原创 Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录
3个错误non-zero exit value 1; non-zero exit value 2; non-zero exit value 3注意依赖的包和依赖库的包和libs的包不要重复1、Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. com.Android.build.api.transform
2016-07-11 19:49:10
2072
1
原创 eclipse adt 选择ndk目录时不识别,出现“Not a valid NDK directory”
解决方案 在ndk的主目录下创建一个ndk-build空文件,关闭对话框再次尝试http://stackoverflow.com/questions/36043047/adt-23-doesnt-like-ndk11
2016-07-04 20:26:38
2095
原创 Android收藏好文章
Android RecyclerView 使用完全解析 体验艺术般的控件 Android BitmapShader 实战 实现圆形、圆角图片Android 自定义实现switch开关按钮自制日期选择器(datepicker)SwipeMenuListViewd的GitHub地址
2016-07-03 17:24:30
457
原创 LinkedList类的用法
1、所有已实现的接口:Serializable, Cloneable, Iterable, Collection, Deque, List, Queue 双向链表,既可以到first,有可以last2、链表boolean add(E e) 将指定元素添加到此列表的结尾。 void add(int index, E element) 在此列表中指定的位置
2016-06-30 23:17:02
352
原创 程序员面试金典(java版)
1确定字符互异2原串翻转3原串翻转4原串翻转5基本字符串压缩1.1、确定字符互异 题目描述 请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。
2016-06-27 23:51:02
2187
原创 红黑树
一红黑树简介1 java代码定义二红黑树的时间复杂度和相关证明时间复杂度为 Olgn定理一棵含有n个节点的红黑树的高度至多为2logn1三旋转1 左旋2 右旋3 区分左旋和右旋四添加Case 1叔叔是红色Case 2叔叔是黑色且当前节点是右孩子Case 3叔叔是黑色且当前节点是左孩子五删除Case 1x是黑黑节点x的兄弟节点是红色Case 2 x是黑黑节点x的兄弟节点是黑色
2016-06-23 23:27:49
2575
原创 AVL树
一AVL树的介绍AVL树是高度平衡的而二叉树它的特点是AVL树中任何节点的两个子树的高度最大差别为1二AVL树的Java实现1 节点定义2 旋转21 LL旋转22 RR旋转23 LR旋转24 RL旋转3 插入节点4 删除节点三完整代码代码分析一、AVL树的介绍 AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。上面的两张图片,左边的
2016-06-19 17:37:33
630
原创 二叉搜索树
性质:左子节点<父节点<右子节点定义:public class TreeNode { public int keyValue; //关键字值 public TreeNode leftNode;//左节点 public TreeNode rightNode;//右节点 public TreeNode(){} public TreeNode(int Key)
2016-06-16 11:24:45
1403
原创 回溯法
1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 许多复杂的,规模较大的问题都可以使用回
2016-06-15 22:20:47
558
原创 贪心算法
一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。 所以对所采用
2016-06-15 21:20:26
526
原创 编程之美
1.2 中国象棋问题public class Solution { public static void main(String[] args) { char data = 0x11;//A、B都从1开始 while ((data&0x0F) != 0x0A)//B从1到9 {
2016-06-14 22:10:21
263
原创 队列实现
数组型队列public class MyQueue { // 数组 private long[] arr; // 最大空间 private int maxSize; // 有效元素大小 private int elems; // 队头 private int font; // 队尾 private int end; pub
2016-06-14 21:02:17
345
原创 IP协议、ARP协议、RARP协议
IP路由选择 主机通过路由器和目的主机连接。主机通过IP数据报连接目的主机时,按照如下步骤搜索(同一网络中的搜索要经过ARP协议将目的主机的IP地址解析为MAC地址): 搜索路由表,优先搜索匹配主机,如果能找到和IP地址完全一致的目标主机,则将该包发向目标主机 搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这需要子网掩码的协助。如果找到路由器,则将该包发向路由器。
2016-05-27 15:37:59
437
原创 DNS原理及其解析过程
1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。 2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。 3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的
2016-05-18 09:56:47
416
原创 fork()函数及例题
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。#include <stdio.h>#include <unistd.h>#include <sys/types.h>#incl
2016-05-17 10:24:53
3037
原创 程序锁遇到的问题及解决办法
1.程序锁必须在服务中去维护,就是所谓的看门狗服务, 在子线程里一直死循环,对开启的应用进行判断,是否在加锁应用的数据库里,如果在,则弹出拦截界面,注意:子线程虽然是死循环,但是要睡眠一下,一是避免系统消耗,二是给其他的子线程挪出时间private void watch() { //1,子线程中,开启一个可控死循环 new Thread(){
2016-05-16 17:09:40
1651
原创 Android Studio导入项目出现问题总结
1、Plugin with id ‘com.android.application’ not found.解决办法: 在builde文件里添加:buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:grad
2016-04-26 15:11:23
363
原创 Android启动过程
android启动 当引导程序启动Linux内核后,会加载各种驱动和数据结构,当有了驱动以后,开始启动Android系统同时会加载用户级别的第一个进程init(system\core\init.c)代码如下:int main(int argc, char **argv) { // 创建文件夹 挂载 mount("tmpfs", "/dev", "tmpfs
2016-04-17 10:19:37
238
原创 二分查找
package cn.zhuang.Search;public class BinarySearch { /* * 用递归方式二分查找 */ public static int searchRecursive(int[] data , int from, int end , int target){ int middle; if(fr
2016-04-13 16:18:24
378
原创 链表实现
单链表package com.zhuang.lianbian;public class Node { public Node next=null; //默认新加的结点指针为null public int data; public Node(int data){ this.data=data; } @Override public Str
2016-04-13 15:48:46
322
原创 栈的实现
1栈的数组实现1、栈的数组实现package cn.zhuang.stack;/** * 栈的ADT实现,数组栈 * @author zhuang */public class ArrayStack<E> { private E[] data;//对象数组 private int top;//栈顶位置 //默认构造函数,初始数组容量为10 public Arra
2016-04-13 15:17:37
352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人