target

剑指Offer-变态跳台阶Java

ⅰ亾dé卋堺 提交于 2020-03-10 15:45:25
9、变态跳台阶 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路: 找规律,递归。 f(n)=f(1)+f(2)+……+f(n-2)+f(n-1) f(n-1)=f(1)+f(2)+……+f(n-3)+f(n-2) 由上两式可得: f(n)=f(n-1)+f(n-1)=2*f(n-1) public class Solution { public int JumpFloorII ( int target ) { if ( target <= 0 ) { return 0 ; } if ( target == 1 ) { return 1 ; } return 2 * JumpFloorII ( target - 1 ) ; } } 来源: CSDN 作者: llluluyi 链接: https://blog.csdn.net/llluluyi/article/details/104770163

剑指Offer-矩形覆盖Java

♀尐吖头ヾ 提交于 2020-03-10 15:05:53
10、矩形覆盖 题目描述: 我们可以用 2*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用n个 2*1 的小矩形无重叠地覆盖一个 2*n 的大矩形,总共有多少种方法? 比如 n=3 时, 2*3 的矩形块有3种覆盖方法: 思路: 找规律,递归。 target = n 分为两步考虑: 1、第一次摆放一块 2*1 的小矩阵,则摆放方法总共为 f(target - 1) 2、第一次摆放一块 1*2 的小矩阵,则摆放方法总共为 f(target-2) ,因为摆放了一块 1*2 的小矩阵,对应下方的 1*2 摆放方法就确定了,所以为 f(target-2) public class Solution { public int RectCover ( int target ) { if ( target <= 0 ) { return 0 ; } if ( target == 1 ) { return 1 ; } if ( target == 2 ) { return 2 ; } return RectCover ( target - 1 ) + RectCover ( target - 2 ) ; } } 来源: CSDN 作者: llluluyi 链接: https://blog.csdn.net/llluluyi/article/details/104770186

跟高手学习LINUX笔记-17

一个人想着一个人 提交于 2020-03-10 13:28:00
第十七章 Linux系统启动原理及故障排除 本节所讲内容: 17.1 centos系统启动过程及相关配置文件 17.1.1 centos6启动相关的配置文件 查看centos6默认系统启动级别: [root@node-2 ~]# vim /etc/inittab Default runlevel. The runlevels used are: 0 - halt (Do NOT set initdefault to this) 1 - Single user mode 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 3 - Full multiuser mode 4 - unused 5 - X11 6 - reboot (Do NOT set initdefault to this) id:3:initdefault: #这里决定系统启动的级别 说明一下各个启动级别的含义 0:关机 1:单用户模式 2:多用户模式但无网络服务 3:完整多用户模式 4:暂未启用 5:图形化界面模式 6:重启 17.1.2 centos6设置服务开机启动 [root@node-2 ~]# chkconfig --list | grep sendmail sendmail 0:off 1:off 2:on

C++高精度小数

浪尽此生 提交于 2020-03-10 13:13:12
当前我在咕啥 1.目前咕压位高精。 2.想都还没想的k次方根 1.1版本的功能 1.新增开方功能(目前只能开平方根,精度不理想) 2.新增快速幂(目前没遇到bug,过了模板) 3.有两种输出方式(fprint为小数形式,mprint输出方式见P1517) 4.快读 1.0版本的功能 1.加减乘除 2.double与该类型加减乘除(加减还没弄) 3.比较大小(小于等于大于) 4.自定义数组长度($width$),小数点位数($bas$),除法精度($eps$),double转该类型精度($deps$) 5.都测了一下,应该没有问题 ### 目前已知的缺陷、 1.~~不能与其他类型多次同时读入(应该能和string同时读入), 比如你前一半读入该类型后一半其他类型是可以的,但是你再读一次该类型就要炸~~ 接了个快读上去,解决了 2.代码丑 4.没有第三点 5.double转小数精度不高,貌似在1e-6左右 6.string转小数好像没测 7.后面应该可以优化前面的代码,但是还在加功能,所以没优化。 有神仙说有bug,目前乘法法肯定不会有bug(能过一整道题),所以问题可能出现在减法和加法上,除法大概率不会bug, 修复了 之前0.02会玄学变成0.2 修复了 *暂且命名为mdob* *转载标明出处* 如果遇到bug请提出 #include<iostream> #include

RAID磁盘阵列中LUN的理解

偶尔善良 提交于 2020-03-10 11:45:52
a、lun的概念 lun的全称是logical unit number,也就是逻辑单元号。我们知道scsi总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以用target ID(也有称为scsi id的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。 而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了lun的概念,也就是说lun id的作用就是扩充了target id。每个target下都可以有多个lun device,我们通常简称lun device为lun,这样就可以说每个设备的描述就有原来的target x变成target x lun y了,那么显而易见的,我们描述设备的能力增强了.就好比,以前你给别人邮寄东西,写地址的时候,可以写: xx市人民大街54号 xxx(收) 但是自从高楼大厦越来越多,你不得不这么写: xx市人民大街54号xx大厦518室 xxx (收) 所以我们可以总结一下,lun就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方. b、lun是 什么东西? lun id不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的lun可能是磁盘空间,可能是磁带机,或者是media changer等等. lun的神秘之处

封装动画函数,添加多个对象

[亡魂溺海] 提交于 2020-03-10 05:04:46
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> input { margin-top: 300px; } #dv { height: 200px; width: 200px; background-color: pink; position: absolute; left:0; top: 0; } </style> </head> <body> <div id="dv"></div> <input type="button" value="移到400" id="btn"> <input type="button" value="移到800" id="btn1"> <script src="common.js"></script> <script> my$("btn").onclick = function () { //var json={"width":400,"height":500}; //animate1(my$("dv"),json); animate1(my$("dv"),{"width":400,"height":500}); //这些属性和值存入json对像中 }; //获取某个元素距离某边界的距离 function

缓动函数的封装终极版,带多个对象的属性值,改透明度和层级

ぃ、小莉子 提交于 2020-03-10 02:48:22
//获取任意一个元素的任意一个属性的当前的值---当前属性的位置值 function getStyle(element, attr) { return window.getComputedStyle ? window.getComputedStyle(element, null)[attr] : element.currentStyle[attr] || 0; } function animate(element, json, fn) { clearInterval(element.timeId);//清理定时器 //定时器,返回的是定时器的id element.timeId = setInterval(function () { var flag = true;//默认,假设,全部到达目标 //遍历json对象中的每个属性还有属性对应的目标值 for (var attr in json) { //判断这个属性attr中是不是opacity if (attr == "opacity") { //获取元素的当前的透明度,当前的透明度放大100倍 var current = getStyle(element, attr) * 100; //目标的透明度放大100倍 var target = json[attr] * 100; var step = (target - current)

spring05

瘦欲@ 提交于 2020-03-09 20:51:02
title: spring05 date: 2020-03-09 19:31:42 tags:代理模式 该部分学习了动态代理。 1、概述 该部分摘抄自秦老师的博客 静态代理 可以使得我们的真实角色更加纯粹 . 不再去关注一些公共的事情 . 公共的业务由代理来完成 . 实现了业务的分工 。 公共业务发生扩展时变得更加集中和方便 . 缺点 : 类多了 , 多了代理类 , 工作量变大了 . 开发效率降低 . 动态代理 动态代理的角色和静态代理的一样 . 动态代理的代理类是动态生成的 . 静态代理的代理类是我们提前写好的 动态代理分为两类 : 一类是基于接口动态代理 , 一类是基于类的动态代理 基于接口的动态代理----JDK动态代理 基于类的动态代理--cglib 现在用的比较多的是 javasist 来生成动态代理 . 百度一下javasist 我们这里使用JDK的原生代码来实现,其余的道理都是一样的! 2、环境 接口 package com.nevesettle.dongtai; public interface Userdao { public void addUser(); public void deleteUser(); public void queryUser(); public void updateUser(); } 实现类 package com

注解中用于@target的方法ElementType

风格不统一 提交于 2020-03-09 17:20:21
    @Target 说明了Annotation所修饰的对象范围:Annotation可被用于 packages 、 types (类、接口、枚举、Annotation类型)、 类型成员 (方法、构造方法、成员变量、枚举值)、 方法参数和本地变量 (如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。   作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)   取值(ElementType)有:     1. CONSTRUCTOR :用于描述构造器     2 . FIELD :用于描述域     3. LOCAL_VARIABLE :用于描述局部变量     4. METHOD :用于描述方法     5. PACKAGE :用于描述包     6. PARAMETER :用于描述参数     7. TYPE :用于描述类、接口(包括注解类型) 或enum声明 注:引自 https://www.cnblogs.com/anpajin/p/6376917.html 来源: CSDN 作者: 种树 链接: https://blog.csdn.net/weixin_42495773/article/details/104751509

AOP和spring AOP学习记录

我与影子孤独终老i 提交于 2020-03-09 16:10:45
AOP基本概念的理解 面向切面AOP主要是在编译期或运行时,对程序进行织入,实现代理, 对原代码毫无侵入性,不破坏主要业务逻辑,减少程序的耦合度。 主要应用范围: 日志记录,性能统计,安全控制,事务处理,异常处理等等 名词性概念 切面(Aspect) 通常是一个类,在里面可以定义切入点和通知,即 切面=切入点+通知 。 连接点(Joint Point) 被拦截到的点,因为 Spring 只支持方法类型的连接点,所以在 Spring 中连接点指的就是被拦截的到的方法,实际上连接点还可以是字段或者构造器。 切入点(Pointcut) 对连接点进行拦截的定义。 通知(Advice) 拦截到连接点之后所要执行的代码,通知分为前置、后置、异常、最终、环绕通知五类。 AOP 代理 AOP 框架创建的对象,代理就是目标对象的加强。Spring 中的 AOP 代理可以使 JDK 动态代理,也可以是 CGLIB 代理,前者基于接口,后者基于子类。 织入 (Weaving) 把切面加入到对象,并创建出代理对象的过程。 动态代理 在运行期间生成对象进行代理, spring AOP就是动态代理。 静态代理 自己编写代理对象,在编译器织入, AspectJ就是在编译期间进行织入,从而减少对运行时效率的影响。 SpringAOP 根据对象是否是实现类选择代理的方法 如果要代理的对象实现了接口,spring