自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Green_Arrow

机会是留给有准备的人

  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 鸟哥的Linux私房菜之目录管理

三、文件与目录的默认权限与隐藏权限 1、umask :文件默认权限 文件默认权限为“-rw-rw-rw-” 目录默认权限“drwxrwxrwx” 2、chattr ,lsattr :文件隐藏属性 chattr [+-=] [ASacdistu] 文件或者目录 +:增加摸个特殊参数 -:删除某个特殊参数 =:仅有后面参数 a : 这个文件只能增加数据,不能删除也不能修改数据

2015-05-29 19:16:03 742

原创 设计模式之Proxy模式(笔记)

代理模式:为其他对象提供一种代理以控制对这个对象的访问 代理模式适用场合:第一,远程代理,也就是为一个对象在不同的地址空间提供局部代理,例如webservice应用;第二、虚拟代理,根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象;第三、安全代理,用来控制真实对象访问时的权限;第四、智能指引,是指当调用真实的对象时,代理处理另外一些事。 举个实例:大鹏出差在外,柳岩今天过生

2015-05-29 19:09:28 727

原创 鸟哥的Linux私房菜之Linux 的文件权限与目录管理(一)

一、目录的相关操作 比较特殊的目录: . 代表此层目录 .. 代表上层目录 - 代表前一个工作目录 ~ 代表目前用户所在住文件夹 ~accout 代表account这个用户的主文件夹(account是个账号名称) 1、cd :切换目录: cd 目录名称 2、pwd : 显示当前目录:pwd

2015-05-27 19:28:13 793

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

思路:保存数字中一个值和次数,当遍历到下个数字时,如果和保存数字相同次数加1,否则次数减1,当次数为0,则保存下一个数字,并把次数设为1,因为要找的数字次数超过一半,那么最后一个保存的数字一定就是要找的数字。public class MoreThanHalfNum { /** * 需找次数超过一半数字 * @param nums * @param le

2015-05-24 10:58:24 758

原创 设计模式之装饰模式(笔记)

装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成之类更加灵活。装饰模式结构图如下 装饰模式适用场合:当需要给系统添加新的功能时,而这些添加的功能仅仅是为了满足一些只在某种特定情况下才会执行的特殊香味的需要,它把每个装饰的功能放在单独的类中,并让这个类包装它所要装饰的对象,因此,当需要执行特殊香味时,客户端就可以在运行时候根据需要有选择地、按顺序地使用装饰功能包装对象。以

2015-05-24 10:38:17 874

原创 输入两个二叉树A与B,判断B是否是A的子结构

思路:第一步判断a的值是否和b的根结点相等不,不相等比较a的左子树和b进行比较,不同在判断a的右子树与b进行比较,重复第一步迭代。第二步,当找到a的子树和b的根结点相同时,比较该子树的左右结点 是否和b的左右结点相同。 //是否包含 public static boolean hasSubTree(TreeNote root1,TreeNote root2){ boolean

2015-05-23 10:07:00 789

原创 鸟哥的Linux私房菜(笔记)-文件权限与目录配置

第一部分 Linux 简单命令操作 一、基础命令 1、显示日期与时间:date; 2、显示日历:cal 3、简单好用计算器:bc 直接输入数字与预算符,按entry键运算, 输入quit离开bc界面 二、重要的热键 1、它具有命令补全与文件补齐的功能:Tab eg: ca[Tab][Tab] [Tab] 接在一串命令的第一个命令的后面,则为“命令补全” [

2015-05-23 09:53:41 837

原创 设计模式之策略模式(笔记)

策略模式:它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。 策略模式封装了变化,减少了各种算法类与使用算法类之间的耦合。 例如做一个商场收银软件,定义三种收费方式,正常收费,打8折,满300送100.这三种收费方式实际上就是具体的三种策略方式。 首先定义一个抽象算法类CashSuper,定义支持所有算法的公共接口public abstrac

2015-05-19 15:13:13 794

原创 合并两个排序的链表

将两个递增的链表合并为一个递增的新链表。 思路:比较两个递增的链表的头结点大小,假设链表1的头结点的值小,则链表1的头结点为新链表的头结点,接着继续合并,接着比较链表1的第二个结点与链表2的头结点比较,两个链表还是有序的递增序列,重复上述步骤,最后生成一新的递增链表。 public static ListNote mergeListNode(ListNote head1Node,ListNo

2015-05-19 14:28:34 797

原创 反转链表

思路:定义四个结点,前结点preNode,当前结点node,下一个结点nextNode,翻转结点reverseNode。遍历结点,设置node结点下一个结点为preNode,把当前结点node赋给preNode,把nextNode赋给node public static ListNote reverseListNode(ListNote headNode) { if(headNod

2015-05-17 16:01:54 1035

原创 找出链表的中间结点

思路:定义两个快慢指针,快指针一次走两步,慢指针一次走一步,当快指针到达尾结点时,慢指针刚好为中间结点,这里需要区分两种情况,当链表中结点数为奇数时,慢指针刚好到达中间结点;当链表中结点数为偶数时候,中间结点有两个,返回一个。public static ListNote findMidNode(ListNote headNote){ if(headNote==null){

2015-05-17 10:32:56 1390

原创 设计模式之简单工厂模式(笔记)

简单工厂模式是属于创建型模式,又叫做静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类的实例。例如制作一个计算器,输入numberA,numberB,操作符,返回结果。 首先我们封装一个Operation类public class Operation { private double numberA=0; private double numberB=0;

2015-05-16 20:02:19 657

原创 二叉树的镜像

思路:实际上是交换除了叶子结点外的结点的左右子树,在重复这个过程。public static void mirrorRecurs(TreeNote root){ if(root==null){ return; } if(root.getLeftTreeNote()==null&&root.getRighTreeNote()==n

2015-05-16 11:24:04 561

原创 树的子结构(输入两个二叉树A与B,判断B是否是A的子结构)

思路:第一步判断a的值是否和b的根结点相等不,不相等比较a的左子树和b进行比较,不同在判断a的右子树与b进行比较,重复第一步迭代。第二步,当找到a的子树和b的根结点相同时,比较该子树的左右结点 是否和b的左右结点相同。public class HasTree { //是否包含 public static boolean hasSubTree(TreeNote root1,TreeNot

2015-05-16 11:15:19 772

原创 数组中重复的数字(n个数字,且数字都在0到n-1范围内)

思路:从头到尾扫描数组每个数字,当扫描到下标为i的数字m时,首先比较m是不是等于i,如果是,继续扫描;如果不是,再拿m和第m个数字进行比较。如果他们相等,就找到第一个重复数字,如果不相等,交换两者位置。接下来重复上述过程,直到找到第一个重复数字。

2015-05-14 20:26:14 2825

原创 归并排序

将两个有序的数组合成一个有序的组合,时间复杂度为O(nlogn)将一个数组,分成两个部分,每一个部分接着分两个部分,直到只有一个元素,右边一样,然后将相邻的二个部分组合在一块,直到所有的都合并。先分解,在合并。public static void mergeSort(int a[],int first,int last,int temp[]){ if(a==null||first<

2015-05-10 20:07:01 599

原创 二维数组的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序。每一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组是否含有该整数。 思路:首先选择数组中右上角的数字,如果该数字是要找数字,查找过程结束;如果该数字大于查找数字,剔除这个数字所在列;如果该数字小于查找数字,剔除这个数字所在行。public static Boolean find(int[][] a,

2015-05-09 16:32:19 631

原创 输入一个字符串“1234567”,返回“1,234,567”

//定义指针从后向前添加 时间复杂度O(n);public class AddComma { public static String addComma(String num){ if(num==null||"".equals(num)){ return null; } char[] numChar=num.toCha

2015-05-09 16:19:35 2140

原创 从尾到头打印链表

思路:链表遍历是从头到尾,而打印需要从尾到头,再不更改链表的结构情况下,发现栈的“先入后出”特点正好符合要求。//定义链表

2015-05-02 17:11:12 585

原创 打印1到最大的n位数

例如:输入2,打印1到99内所有数 需要考虑大数问题,采用数组来表示,发现数字各位都是有0~9组成,需要打印所有的组合,注意打印时候,0在前面的不打印,如019,02等。(已测)

2015-05-02 16:52:28 575

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

关键:定义首尾两个指针,同时向中间移动,首指针遇到第一个偶数和尾指针遇到的第一个奇数交换,重复上述步骤public static void reorder(int a[],int length){ if(a==null||length<=0){ return; } int begin=0; int last=le

2015-05-01 20:11:48 565

VS2012最新程序补丁

vs2012最新版 补丁 可用于解决生成不用项目或者文档以及与windows版本冲突问题

2014-07-23

贝塞尔曲线

了解贝塞尔曲线 如何获取贝塞尔曲线的控制点

2014-06-19

空空如也

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

TA关注的人

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