target

leetcode 39.组数总和 (python)回溯法

北城以北 提交于 2020-02-24 13:37:40
题目: 题解: 从题目可以看出是找所有组合的问题,因此就想起用递归,回溯的方法来求解。 我们首先对数组进行排序,这样方便查找。 代码思路: 进行回溯的过程中,我们通过更新target来寻找合适的组合。 即我们每次选取一个元素,就从target中减去这个元素,然后利用减去后的差来更新target。 在进行回溯的过程中,我们需要确定回溯的数组范围,因此我们引入索引index,因为可以重复选择,所以index值等于当前的索引i。 图解思路: 代码: class Solution : def combinationSum ( self , candidates , target ) : index = 0 result = [ ] temp = [ ] de = target candidates . sort ( ) def dfs ( target , index , temp ) : # print('de: %d' % de) # print('sum: %d' % sum(temp)) if sum ( temp ) == de : result . append ( temp ) # print(result) # temp = [] for i in range ( index , len ( candidates ) ) : # print('i: %d' % i) if

Linux服务器性能评估

随声附和 提交于 2020-02-24 09:57:58
一、影响 Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘 I/O带宽 网络 I/O带宽 2. 程序应用级 二、系统性能评估标准 影响性能因素 影响性能因素 评判标准 好 坏 糟糕 CPU user% + sys%< 70% user% + sys%= 85% user% + sys% >=90% 内存 Swap In(si)=0Swap Out(so)=0 Per CPU with 10 page/s More Swap In & Swap Out 磁盘 iowait % < 20% iowait % =35% iowait % >= 50% 其中: %user:表示CPU处在用户模式下的时间百分比。 %sys:表示CPU处在系统模式下的时间百分比。 %iowait:表示CPU等待输入输出完成时间的百分比。 swap in:即si,表示虚拟内存的页导入,即从SWAP DISK交换到RAM swap out:即so,表示虚拟内存的页导出,即从RAM交换到SWAP DISK。 三、系统性能分析工具 1.常用系统命令 Vmstat、sar、iostat、netstat、free、ps、top等 2.常用组合方式 • 用vmstat、sar、iostat检测是否是CPU瓶颈 • 用free、vmstat检测是否是内存瓶颈 • 用iostat检测是否是磁盘I/O瓶颈 •

浅谈SpringBoot源码 --- @SpringBootConfiguration的作用

浪子不回头ぞ 提交于 2020-02-24 07:13:39
源码分析 @SpringBootConfiguration可以简单的理解为就是一个@Configuration注解,表示当前类是一个配置类, 通过@Configuration 与 @Bean结合,将Bean注册到Spring ioc 容器。 @SpringBootConfiguration的源码如下 @Target ( { ElementType . TYPE } ) @Retention ( RetentionPolicy . RUNTIME ) @Documented @Configuration public @ interface SpringBootConfiguration { @AliasFor ( annotation = Configuration . class ) boolean proxyBeanMethods ( ) default true ; } 在@SpringBootConfiguration的源码中除了@Target、@Retention、@Documented三个常规的注解外,最重要的注解就是@Configuration。 @Configuratio的作用: 从Spring3.0开始,@Configuration用于定义配置类,可替换xml文件,被注解的类内部包含有一个或多个被@Bean注解的方法

python学习笔记-进程线程

你。 提交于 2020-02-23 19:10:48
1.什么是进程(process)? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。 在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。这是这样的设计,大大提高了CPU的利用率。进程的出现让每个用户感觉到自己独享CPU,因此,进程就是为了在CPU上实现多道编程而提出的。 2.什么是线程(thread)? 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 3.有了进程为什么还要线程? 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率。很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的,主要体现在两点上: 进程只能在一个时间干一件事,如果想同时干两件事或多件事,进程就无能为力了。 进程在执行的过程中如果阻塞,例如等待输入,整个进程就会挂起,即使进程中有些工作不依赖于输入的数据,也将无法执行。 例如,我们在使用qq聊天,

day53 JavaWeb框架阶段——Spring03(Spring 的 AOP 简介,基于XML的 AOP 开发,基于注解的 AOP 开发)

♀尐吖头ヾ 提交于 2020-02-23 17:58:55
1.Spring 的 AOP 简介 今日源码: 链接: https://pan.baidu.com/s/1bG_85XDHdF1rMcklYouvpQ 提取码:8f9u 1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 1.2 AOP 的作用及其优势 作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强 优势:减少重复代码,提高开发效率,并且便于维护 1.3 AOP 的底层实现 实际上,AOP 的底层是通过 Spring 提供的的动态代理技术实现的。在运行期间,Spring通过动态代理技术动态的生成代理对象,代理对象方法执行时进行增强功能的介入,在去调用目标对象的方法,从而完成功能的增强。 1.4 AOP 的动态代理技术 常用的动态代理技术 JDK 代理 : 基于接口的动态代理技术 cglib 代理:基于父类的动态代理技术 1.5 JDK 的动态代理 ①目标类接口 public interface

sqoop Mysql 导入到hdfs、hive

穿精又带淫゛_ 提交于 2020-02-23 13:44:24
sqoop是一个用于在Hadoop和关系型数据库(Oracle,Mysql...)间数据传递的开源工具。下面以mysql、sqlserver为例,介绍使用sqoop将数据从mysql、sqlserver导入到Hadoop中(HDFS、Hive) #导入命令及参数介绍 通用参数 参数名 参数说明 --connect <jdbc-uri> JDBC连接字符串 --username <username> 数据库用户名 --password <password> 数据库密码 -P 导入时,从控制台获取数据库密码 --password-file 从指定的文件中获取数据库密码 --verbose 导入时,输出更多的日志信息 控制参数 参数 说明 –append 将数据追加到hdfs中已经存在的dataset中。使用该参数,sqoop将把数据先导入到一个临时目录中,然后重新给文件命名到一个正式的目录中,以避免和该目录中已存在的文件重名。 –as-avrodatafile 将数据导入到一个Avro数据文件中 –as-sequencefile 将数据导入到一个sequence文件中 –as-textfile 将数据导入到一个普通文本文件中,生成该文本文件后,可以在hive中通过sql语句查询出结果。 –boundary-query 边界查询,也就是在导入前先通过SQL查询得到一个结果集

【面试题8

天涯浪子 提交于 2020-02-23 09:52:14
剑指offer第八题。 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 解题思路 对于本题,前提只有 一次 1阶或者2阶的跳法。 如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1); 假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2) 可以得出总跳法为: f(n) = f(n-1) + f(n-2) 然后通过实际的情况可以得出:只有一阶的时候 f(1) = 1 ,只有两阶的时候可以有 f(2) = 2 我的答案 1234567891011 大专栏 【面试题8ine">public class { public int JumpFloor(int target) { if(target == 1){ return 1; }else if(target == 2){ return 2; }else{ return JumpFloor(target-1) + JumpFloor(target-2); } }} 来源: https://www.cnblogs.com/liuzhongrong/p/12348482.html

spring AOP源码分析(三)

佐手、 提交于 2020-02-23 05:56:52
在上一篇文章 spring AOP源码分析(二) 中,我们已经知道如何生成一个代理对象了,那么当代理对象调用代理方法时,增强行为也就是拦截器是如何发挥作用的呢?接下来我们将介绍JDK动态代理和cglib这两种方式下,拦截器调用的实现。 一 JDK动态代理拦截器调用的实现: 我们知道,在生成代理对象时,相关的拦截器已经配置到代理对象中了。Proxy.newProxyInstance(classLoader, proxiedInterfaces, this); 这行代码是用于生成代理对象的,this代表InvocationHandler接口,此处是指JdkDynamicAopProxy类, 因为JdkDynamicAopProxy实现了InvocationHandler接口。当生成的代理对象调用代理方法时,会触发InvocationHandler接口中invoke方法的调用,而增强行为的发生或者说对目标对象方法的拦截动作就是在这个方法中。我们进入JdkDynamicAopProxy 类的invoke方法: /** * Implementation of {@code InvocationHandler.invoke}. * <p>Callers will see exactly the exception thrown by the target, * unless a hook

linux kernel make构建分析

对着背影说爱祢 提交于 2020-02-23 05:17:10
前言 之前对uboot的构建进行了分析,现在再对linux kernel的构建进行分析。几年前的确也分析过,但是只是停留在笔记层面,没有转为文章,这次下定决定来完善它。 环境 同样,采用的还是zynq平台的linux,从Makefile可以看到版本: VERSION = 3 PATCHLEVEL = 15 SUBLEVEL = 0 EXTRAVERSION = NAME = Shuffling Zombie Juror linux Makefile支持的选项(最常用到的) 选项V,用于开启或者关闭执行make时编译信息的打印 @echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build' @echo ' make V=2 [targets] 2 => give reason for rebuild of target' ifeq ("$(origin V)", "command line") KBUILD_VERBOSE = $(V) endif ifndef KBUILD_VERBOSE KBUILD_VERBOSE = 0 endif 选项C,用于开启或者关闭静态代码检查 @echo ' make C=1 [targets] Check all c source with $$CHECK

26个Jquery使用小技巧(jQuery tips, tricks & solutions)

假如想象 提交于 2020-02-23 04:54:45
前段时间发布了 Jquery 类库 1.4 版本,使用者也越来越多,为了方便大家对 Jquery 的使用,下面列出了一些 Jquery 使用技巧。比如有禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的 X 值 Y 值、验证元素是否为空、替换元素、延迟加载、验证元素是否存在于 Jquery 集合中、使 DIV 可点击、克隆对象、使元素居中、计算元素个数、使用 Google 主机上的 Jquery 类库、禁用 Jquery 效果、解决 Jquery 类库与其他 Javascript 类库冲突问题。 具体如下: 1. 禁止右键点击 view plain copy to clipboard print ? 1. $(document).ready( function (){ 2. $(document).bind( "contextmenu" , function (e){ 3. return false ; 4. }); 5. }); 2. 隐藏搜索文本框文字 view plain copy to clipboard print ? 1. $(document).ready( function () { 2. $( "input.text1" ).val( "Enter your search