- 剑指offer面试题29. 顺时针打印矩阵(边界问题)
程旭员
剑指offer顺时针打印矩阵边界问题剑指offerPython
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。思路详见链接代码classSolution:defspiralOrder(self,matrix:[[int]])->[int]:ifnotmatrix:return[]l,r,t,b,res=0,len(matrix[0])-1,0,len(matrix)-1,[]whileTrue:foriinrange(l,r+1):re
- 剑指Offer面试题20顺时针打印矩阵,面试题21包含min函数的栈
login_sonata
《剑指Offer》Java版《剑指Offer》Java版剑指OfferJava面试题栈数组
面试题20:顺时针打印矩阵思路:一圈一圈打印,再具体到四个边分别打印。本题的Java实现:publicclassPrintMatrixInCircle{publicvoidPrintMatrixClockwisely(int[][]a){if(a==null)return;introws=a.length;intcolumns=a[0].length;intstart=0;//起始位置坐标都是(0
- 剑指offer面试题7:重建二叉树
lanmeizhen2017
剑道offerleetcode
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例1:Input:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]Output:[3,9,20,null,null,15,7]示例2:Input:preorder=[-1],inorder=[-1]Output:[-1]知识
- 矩形覆盖
youzhihua
题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路可以先算出前5个矩形覆盖的解法,分别为1,2,3,5,8。2.发现这是斐波那契数列的变形,也可以使用动态规划求解,状态转移方程为:dp[i]=dp[i-1]+dp[i-2]。Java代码实现publicintRectCover(inttarget){if(targ
- 动态规划解决棋盘覆盖问题:一步步教你理解
派大星45599
数据结构与算法分析剑指offer动态规划算法状态压缩DPjava
从简单到复杂:理解动态规划通过矩形覆盖问题动态规划是解决各种算法问题的一种强大方法,特别是当问题可以分解成重叠的子问题时。为了深入理解这个概念,我们将先从一个简单的矩形覆盖问题开始,然后逐步过渡到更复杂的二维棋盘覆盖问题。简单问题:用2x1的小矩形覆盖2xn的大矩形假设我们有无数个2x1的小矩形,我们想要用这些小矩形去覆盖一个2xn的大矩形。我们想知道有多少种不同的覆盖方式。题目链接:矩形覆盖_牛
- 剑指offer面试题12打印1到最大的n位数
wellwang1993
剑指offerjava版java算法开发语言面试
考察点大数问题知识点题目分析这道题目唯一需要考虑的点就是n很大的时候会存在数字溢出的情况,因此这种肯定属于大数问题,大数问题就是用字符串表示数字。题目要求从1打印到最大的n位十进制数,其中必不可少的运算就是加法和打印,只要想一想我们普通加法是如何实现的,这个算法不难实现publicclassTwelve{publicstaticvoidmain(String[]args){printMaxNum(
- 剑指offer面试题14 调整数组顺序使奇数位于偶数前面
wellwang1993
剑指offerjava版算法java面试leetcode数据结构
考察点双指针遍历数组知识点题目分析要求奇数位于偶数前面,如果按照循环遍历的方式,可以每找到一个偶数就把该数字后面所有的数都往前移动1位,然后把该偶数放在最后空出来的位置,这样的时间复杂度是O(n^2)。由于只要求奇数位于偶数前面,同时为了降低时间复杂度,思维一定要往双指针上靠,双指针有快慢指针的形式也有头尾指针的形式,双指针遍历数组可以大大提升遍历效率。放在本题目中,用头尾指针就可以满足诉求,头指
- 剑指offer面试题13 在O(1)时间删除链表结点
wellwang1993
剑指offerjava版链表数据结构java面试leetcode
考察点链表知识点链表的删除正常情况下需要O(n)的时间,因为需要找到待删除结点的前置结点题目分析我们都知道链表删除往往需要O(n)遍历链表,找到待删除结点的前置结点,把前置结点的next指针指向待删除结点的后置结点。现在要求O(1)时间删除,那肯定不能用遍历的办法了,试想一下一个结点包括一个值和指向下一个结点的指针,如果把待删除结点的后置结点的值复制到待删除结点这里,然后删除掉待删除结点的后置结点
- 剑指offer面试题11 数值的整数次方
wellwang1993
剑指offerjava版算法leetcode面试数据结构
考察点知识点比较俩个浮点数是否相等的方法是判断他俩的差的绝对值是否小于一个很小的数题目分析这道题目是一道比较常规的题目,把异常输入,各种可能的输入都考虑到就可以了。要考虑到指数和基数同时为正,同时为负,指数为正基数为负以及指数为负基数为正的情况publicclassEleven{publicstaticvoidmain(String[]args){System.out.println(power(
- 剑指offer面试题9 斐波那契数列
wellwang1993
剑指offerjava版java面试leetcode数据结构算法
考察点递归与迭代知识点递归和迭代是俩种不同的计算机思维,是解决某一类问题的俩种方法,不是算法本身,方法可以引导算法的形成。最常见的这类问题的特点就是它可以被分解成完全相同的小规模问题。递归是自上而下的,是描述性的,f(n)=f(n-1)***,算法思路一般就是把问题描述出来就可以,假设n-1规模的问题已经处理好了如何处理n规模的问题。迭代是自下而上的,往往是从f(1)开始,算法思路是通过各种手段想
- 剑指offer面试题10 二进制中1的个数
wellwang1993
javaleetcode算法数据结构面试
考察点位运算知识点位运算针对二进制位进行运算,包括(&)与运算,(|)或运算,(^)异或运算,(~)取反,(>)右移位,(>>>)无符号右移运算与运算:0&0=0,0&1=0,1&0=0,1&1=1或运算:0|0=0,0|1=1,1|0=1,1|1=1异或:0^0=0,0^1=1,1^0=0,1^1=0左移:m>n表示m右移n位,最左边补符号位,右移1位相当于除以2无符号右移:m>>>n表示m无符
- 最小圆覆盖算法总结
CCloth
计算几何算法学习算法
一、定义什么是最小圆覆盖?其实和最小矩形覆盖定义是类似的,给出一个点集,求能覆盖住所有点的最小圆。二、两种算法求最小圆覆盖有两种算法,分别是增量法和模拟退火,个人推荐增量法,它的精度更高一些,且时间复杂度是稳定的线性级(点的顺序打乱后),所以下面也主要介绍增量法的原理。增量法前置知识1.圆上三点确定唯一的一个圆。这个道理很简单,考虑三角形外接圆就行。2.若已有某个点集的最小圆覆盖,向该点集中再加入
- 剑指offer面试题8 旋转数组的最小数字
wellwang1993
剑指offerjava版java算法面试leetcode后端
考察点算法二分搜索知识点二分搜索算法是针对排序的数组,先找到中间元素,如果待查找元素比中间元素大,说明待查找元素肯定不在左边那片区域内,如果待查找元素比中间元素小,说明待查找元素肯定不在右边那片区域内,反复进行该过程直到找到元素为止对于搜索而言,降低复杂度的唯一方式就是每一次轮询以后能缩小搜索范围或者过滤掉更多的不可能元素,我们最普通的遍历数组的方式,每轮询完一次只能过滤掉一个元素。而二分搜索每轮
- 剑指offer面试题6 重建二叉树
wellwang1993
剑指offerjava版数据结构算法javaleetcode面试
考察点树知识点链表中每个结点最少有1个指针,最多2个(双重链表),前后结点是一对一的关系,而树中每个结点指针数量可以更多一些,也就是说树中的结点存储着更多其它结点的信息,前后结点是一对多的关系(其中靠前的结点有个专门的术语叫父结点,靠后的结点都是孩子结点,没有孩子结点的叫叶子结点,没有父结点的叫根结点)。这俩个数据结构需要解决的问题不一样。依据每个结点包含的指针数量的不同对树做了一些分类,比如每个
- 剑指offer面试题7 用俩个栈实现队列
wellwang1993
剑指offerjava版java开发语言面试leetcode
考察点栈,队列知识点栈是先进后出的数据结构,队列是先进先出的结构。这俩个数据结构其实可以看作是特殊的数组,数组可以在任何一个位置存取元素,而栈相当于只能通过要么左边一端要么右边一端存取元素的数组,队列相当于只能通过左边一端存元素右边一端取元素,或者左边一端取元素右边一端存元素的数组。有了这层物理限制,就可以很好的理解"先进后出"以及"先进先出"的含义了java语言中队列接口Queue定义了4个方法
- 剑指Offer 面试题5 从尾到头打印链表
火雨_Nick
Java面试程序员面试宝典面试题Java链表
剑指Offer面试题5从尾到头打印链表本文题目来自《剑指offer名企面试官精讲典型编程题》面试题5。题目5:输入一个链表的头结点,从尾到头反过来打印每个结点的值。思路:从头到尾遍历一遍链表,将每个结点顺次压入栈中。遍历完链表后,再从栈顶开始逐个输出结点的值。代码中的链表插入方法为头插法。具体头插法的介绍详见:http://blog.csdn.net/wp1603710463/article/de
- 剑指offer面试题06. 从尾到头打印链表(辅助栈法)
程旭员
剑指offer从尾到头打印链表辅助栈法剑指offerPython
题目描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。思路详见链接代码classSolution:defreversePrint(self,head:ListNode)->List[int]:stack=[]whilehead:stack.append(head.val)head=head.nextreturnstack[::-1]复杂度时间复杂度O(N):入栈使用O(N)时
- 剑指offer面试题5 从尾到头打印链表(java实现)
Logan24
剑指offer面试题剑指offer算法面试题java
解题思路:在不改变链表本身结构的情况下,正常情况下遍历链表肯定是从头结点开始,直到最后一个结点。而现在需要从尾到头输出这个链表,这样满足后访问的结点先打印,类似于栈的后进先出特点,因此考虑利用栈这种数据结构,在遍历的同时将结点入栈。遍历结束后,将栈顶元素出栈,保存到arraylist中,直到栈空。classListNode{intval;ListNodenext=null;ListNode(int
- 剑指offer面试题06 从尾到头打印链表C++
l_c_c_c
剑指offer
题目描述:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。反转法:*Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:vectorreversePrint(ListNo
- 剑指offer面试题5——链表之从尾到头打印链表
denghe1122
数据结构/算法剑指offer
题目描述:输入一个链表,从尾到头打印每个结点的值。【方法一】:迭代输出/***structListNode{*intval;*structListNode*next;*ListNode(intx):*val(x),next(NULL){*}*};*/以上内容是题目给的结点定义,以及初始结点的初始化classSolution{public:vectorm_value;vectorprintListF
- 剑指offer面试题5 从尾到头打印链表
wellwang1993
剑指offerjava版链表数据结构javaleetcode
考察点链表知识点数组和链表都属于线性表。线性表在计算机中有俩种存储方式,按照顺序存储的就是数组,按照链式存储的就是链表,二者最大的区别在于一个是顺序存储(地址空间连续)一个是链式存储(地址空间不连续)。因此数组元素只包含元素值就可以了,链表元素需要同时包含元素值和下一个元素的地址内存分配方式不同:数组是静态分配,使用前需要申请好内存,初始化好以后内存大小不能再被改变链表是动态分配,按需申请内存,长
- 剑指offer面试题4 替换空格
wellwang1993
剑指offerjava版开发语言java面试leetcode
考察点考察数据结构字符串知识点不同于c语言,java语言有字符和字符串俩种数据类型,char类型(字符类型)是基本数据类型,string类型(字符串类型)是引用类型java语言中的字符采用unicode编码在内存中用2个字节存储,因此一个英文字符或者中文字符的数据类型都可以是char。要显示字符对应的编码,直接将char类型赋值给int类型即可java语言有专门的string类型,字符串在内存中的
- 剑指offer面试题3 二维数组中的查找
wellwang1993
剑指offerjava版算法java面试leetcode后端
考察点:考察数据结构二维数组知识点:1.java中的数据类型分为基本类型和引用类型,数组属于引用类型,引用类型的变量中存储的是地址,该地址指向内存中的某个对象,参考c中的指针。2.一维数组定义,初始化,遍历2.1.先定义后初始化:尤其注意如果只定义没有初始化那么元素会被初始化为数据类型的默认值,int会被初始化为0,float会被初始化为0.0,boolean会被初始化为falseintarr[]
- 剑指offer面试题13:在O(1)时间删除链表结点(java实现)
lgz_f881
题目:给定单向链表的头结点和待删除结点,定义一个函数在O(1)时间内删除该结点。思路:一般删除结点方法为找到该结点上一个结点,并将上一个结点的下一个结点指向待删除结点的下一个结点。这样的方法时间复杂度为O(n)。另一个思路为:要删除结点i,先把i的下一个结点j的内容复制到i,然后把i的指针指向结点j的下一个结点。此时再删除结点j,其效果刚好是把结点i删除。需要考虑的问题是:如果要删除的结点位于链表
- 剑指offer-矩形覆盖
纳萨利克
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路4====2种6====3种8====6个覆盖时有3种,最后一级竖着覆盖,剩下上面4格,有2种,总共5种n====最后一层横着覆盖时,剩下n-1层,最后一层竖着覆盖,剩下上面n-2层fibonacciJavapublicclassSolution{publicintRec
- 每日一题,二维平面
DHLSP15
平面
给你二维平面上两个由直线构成且边与坐标轴平行/垂直的矩形,请你计算并返回两个矩形覆盖的总面积。每个矩形由其左下顶点和右上顶点坐标表示:第一个矩形由其左下顶点(ax1,ay1)和右上顶点(ax2,ay2)定义。第二个矩形由其左下顶点(bx1,by1)和右上顶点(bx2,by2)定义。varcomputeArea=function(ax1,ay1,ax2,ay2,bx1,by1,bx2,by2){co
- 剑指offer面试题35:复制链表的复制
丑月十五
链表
简单链表的复制首先看下简单链表的复制,复制普通链表很简单,只需遍历链表,每轮建立新节点+构建前驱节点pre+当前节点node的引用指向即可。classSolution{publicNodecopyRandomList(Nodehead){Nodecur=head;Nodedum=newNode(0),pre=dum;while(cur!=null){Nodenode=newNode(cur.val
- 算法题10.矩形覆盖
12313凯皇
题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?乍一看还没有什么头绪,不过去评论区逛了逛立马思路清奇:分析问题:首先,当n2时,我们可以将问题拆分一下,如图:先将第一列覆盖上一个矩形,那么剩下的就是一个2*n-1的矩形,所以剩下区域的覆盖方法为f(n-1)种。或者将前两列覆盖上两个小矩形,那么剩下的就是一个2
- 牛客剑指offer刷题动态规划篇
惜许
数据结构与算法动态规划算法
文章目录连续子数组的最大和题目思路代码实现连续子数组的最大和(二)题目思路代码实现跳台阶题目思路代码实现斐波那契数题目代码实现正则表达式匹配【搞不懂、没搞懂、真不会】题目思路代码实现跳台阶扩展问题题目思路代码实现矩形覆盖题目思路代码实现买卖股票的最好时机(一)题目思路代码实现礼物的最大价值题目思路代码实现无重复字符的最长子串题目思路代码实现把数字翻译成字符串题目思路代码实现连续子数组的最大和题目给
- Altium Designer内电层(Plan)GND和POWER出现的死铜如何去除-AD
ltqshs
ADAD
1.问题描述更多遇到的是顶层底层敷铜时出现清楚死铜;但是在内电层有时候也会出现死铜。这时候不去除死铜就会在DRC中报错。2.解决办法1-多边形填充挖空在工具栏:放置——多边形填充挖空;然后再错误高亮处的死铜周围画多边形,将多边形包围即可;3.解决方法2-填充打开工具栏:放置——填充;然后再死铜上拉矩形覆盖即可。
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen