- 程序员代码面试指南刷题--第四章.换钱的方法数
一年而已
程序员代码面试指南刷题
题目描述给定数组arr,设数组长度为n,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim,代表要找的钱数,求换钱的方法数有多少种。由于方法的种数比较大,所以要求输出对109+710^9+7109+7进行取模后的答案。输入描述:输出包括两行,第一行包括两个整数n(0≤n≤1000)(0\leqn\leq1000)(0≤n≤1000)和a
- 程序员代码面试指南刷题--第三章.打印二叉树的边界节点
一年而已
程序员代码面试指南刷题
题目描述给定一颗二叉树的根节点root,按照如下两种标准分别实现二叉树的边界节点的逆时针打印。标准一:1,根节点为边界节点。2,叶节点为边界节点。3,如果节点在其所在的层中是最左的或最右的,那么该节点也是边界节点。标准二:1,根节点为边界节点。2,叶节点为边界节点。3,树左边界延伸下去的路径为边界节点。4,树右边界延伸下去的路径为边界节点。ps:具体请对照样例输入描述:第一行输入两个整数n和roo
- 程序员代码面试指南刷题--第二章.在链表中删除指定值的节点
一年而已
程序员代码面试指南刷题
题目描述给出一个链表和一个整数num,输出删除链表中节点值等于num的节点之后的链表。输入描述:第一行一个整数n,n表示单链表的节点数量。第二行n个整数表示单链表的各个节点的值。第三行一个整数num。输出描述:在给定的函数中返回指定链表的头指针。示例1输入412343输出124解法一:添加一个头结点便于操作importjava.io.*;publicclassMain{publicstaticBu
- 程序员代码面试指南刷题--第九章.一行代码求两个数的最大公约数
一年而已
程序员代码面试指南刷题
题目描述给定两个不等于0的整数M和N,求M和N的最大公约数。输入描述:输入有两个整数。分别表示M,N输出描述:一个整数表示M,N的最大公约数示例1输入612输出6解法一:辗转相除法importjava.io.*;publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderbr=newBuffer
- 程序员代码面试指南刷题--第四章.打气球的最大分数
一年而已
程序员代码面试指南刷题
题目描述给定一个数组arr,长度为n。代表排有分数的气球。每打爆一个气球都能获得分数,假设打爆气球的分数为X,获得分数的规则如下:1)如果被打爆气球的左边有没被打爆的气球,找到离被打爆气球最近的气球,假设分数为L:如果被打爆气球的右边有没被打爆的气球,找到离被打爆气球最近的气球,假设分数为R.获得分数为LXR2)如果被打爆的气球的左边有没被打爆的气球,找到离被打爆气球最近的气球,假设分数为L:如果
- 程序员代码面试指南刷题--第五章.翻转字符串(2)
一年而已
程序员代码面试指南刷题
题目描述给一个字符类型的数组chas和一个整数size,请把大小为size的左半区整体右移到右半区,右半区整体移动到左边。输入描述:输入两行,第一行一个整数,代表size,第二行一个字符串,代表chas输出描述:输出一行字符串,代表翻转后的字符串。示例1输入3abcdefg输出defgabc解法一:偷个懒importjava.io.*;importjava.util.*;publicclassMa
- 程序员代码面试指南刷题--第四章.数组中的最长连续子序列
一年而已
程序员代码面试指南刷题
题目描述给定无序数组arr,返回其中最长的连续序列的长度(要求值连续,位置可以不连续,例如3,4,5,6为连续的自然数)输入描述:输出两行,第一行包括一个整数n,第二行包含n个整数,分别代表arr[i]输出描述:输出一个整数,代表最长连续子序列的长度。示例1输入61004200132输出4示例2输入3111输出1解法一:动态规划importjava.io.*;importjava.util.*;p
- 程序员代码面试指南刷题--第四章.最长公共子串
一年而已
程序员代码面试指南刷题
题目描述:给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1。输入描述:输入包括两行,第一行代表字符串srr1,第二行代表字符串str2。输出描述:输出包括一行,代表最长公共子串。示例1输入1AB2345CD12345EF输出2345解法一:动态规划思路:还是难在确定如何抽象importjava.io.*;importjava.util.*;public
- 程序员代码面试指南刷题--第四章.最长公共子序列
一年而已
程序员代码面试指南刷题
题目描述给定两个字符串str1和str2,输出连个字符串的最长公共子序列。如过最长公共子序列为空,则输出-1。输入描述:输出包括两行,第一行代表字符串str1,第二行代表str2。(1≤length(str1),length(str2)≤5000)\left(1\leqlength(str1),length(str2)\leq5000\right)(1≤length(str1),length(st
- 程序员代码面试指南刷题--第一章.用一个栈实现另一个栈的排序
一年而已
程序员代码面试指南刷题
题目描述一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序?输入描述:第一行输入一个N,表示栈中元素的个数第二行输入N个整数aia_iai表示栈顶到栈底的各个元素输出描述:输出一行表示排序后的栈中栈顶到栈底的各个元素。示例1输入558436输出86543解法一:oj有点难过importjava.io
- 程序员代码面试指南刷题--第四章.最长递增子序列
一年而已
程序员代码面试指南刷题
题目描述给定数组arr,设长度为n,输出arr的最长递增子序列。(如果有多个答案,请输出其中字典序最小的)输入描述:输出两行,第一行包括一个正整数n(ndp[max]){//找到第一个maxmax=i;}}int[]res=null;for(inti=max;itmp[j]){res=tmp;}}}}}returnres;}publicstaticint[]getOneRes(int[]arr,i
- 程序员代码面试指南刷题--第四章.机器人达到指定位置方法数
一年而已
程序员代码面试指南刷题
题目描述假设有排成一行的N个位置,记为1~N,开始时机器人在M位置,机器人可以往左或者往右走,如果机器人在1位置,那么下一步机器人只能走到2位置,如果机器人在N位置,那么下一步机器人只能走到N-1位置。规定机器人只能走k步,最终能来到P位置的方法有多少种。由于方案数可能比较大,所以答案需要对1e9+7取模。输入描述:输出包括一行四个正整数N(2n||pn)return0;returnwalk(n,
- 程序员代码面试指南刷题--第二章.合并两个有序的单链表
一年而已
程序员代码面试指南刷题
题目描述给定两个升序的单链表的头节点head1和head2,请合并两个升序链表,合并后的链表依然升序,并返回合并后链表的头节点。输入描述:两个升序的单链表的头节点head1和head2输出描述:在给定的函数内返回新链表的头指针。示例1输入5123456789101112输出12345789101112备注:保证链表的长度不大于1000000解法一:按题意importjava.io.Buffered
- 程序员代码面试指南刷题--第八章.数组中子数组的最大累乘积
一年而已
程序员代码面试指南刷题
题目描述给定一个double类型的数组arr,其中的元素可正、可负、可0,返回子数组累乘的最大乘积。例如,arr=[-2.5,4,0,3,0.5,8,-1],子数组[3,0.5,8]累乘可以获得最大的乘积12,所以返回12[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(1)O(1)O(1)输入描述:第一行一个整数N。表示数组长度。接下来一行N个浮点数表示数组内的数输出描述:输出一个浮
- 程序员代码面试指南刷题--第五章.将整数字符串转成整数值
一年而已
程序员代码面试指南刷题
题目描述给定一个字符串str,如果str符合日常书写的整数形式,并且属于32位整数范围,返回str代表的整数值,否则返回0。输入描述:输出包括一行代表str(1≤length(str)≤100)(1\leqlength(str)\leq100)(1≤length(str)≤100)。输出描述:输出一行,代表返回的值。示例1输入123输出123示例2输入023输出0示例3输入A13输出0示例4输入2
- 程序员代码面试指南刷题--第四章.数字字符转化为字母组合的种数
一年而已
程序员代码面试指南刷题
题目描述给定一个字符串str,str全部由数字字符组成,如果str中的某一个或者相邻两个字符组成的子串值在1~26之间,则这个子串可以转换为一个字母。规定‘1’转换为“A”,“2”转换为“B”…"26"转化为“Z“。请求出str有多少种不同的转换结果,由于答案可能会比较大,所以请输出对10^9+7取模后的答案。输入描述:输出一行仅有’0‘~’9‘组成的字符串,代表str(0≤length(str)
- 程序员代码面试指南刷题--第二章.反转单向链表
一年而已
程序员代码面试指南刷题
题目描述实现反转单向链表和双向链表的函数。如1->2->3反转后变成3->2->1。输入描述:第一行一个整数n,表示单链表的长度。第二行n个整数val表示单链表的各个节点。第三行一个整数m,表示双链表的长度。第四行m个整数val表示双链表的各个节点。输出描述:在给定的函数内返回相应链表的头指针。示例1输入312341234输出3214321解法一:不难但是一次就能跑出来还是很有成就感的import
- 程序员代码面试指南刷题--第八章.在数组中找到出现次数大于一半的数
一年而已
程序员代码面试指南刷题
题目描述给定一个整型数组arr,请打印其中出现次数大于一半的数,如果没有这样的数,请输出-1。输入描述:输入包含两行,第一行包含一个整数n,代表数组长度,第二行包含n个数,代表数组arr。输出描述:输出一个整数,代表出现次数大于一半的数,如果没有这样的数,请输出‘-1“。示例1输入5117577输出7解法一:两两相消importjava.io.*;importjava.util.*;publicc
- 程序员代码面试指南刷题--第八章.在数组中找到出现次数大于n/k的数
一年而已
程序员代码面试指南刷题
题目描述给定一个整型数组arr,再给定一个整数k,打印所有出现次数大于n/k的数,如果没有这样的数,请打印”-1“。输入描述:输入包含两行,第一行输入包含两个整数n和k,第二行包含n个整数,代表数组arr。输出描述:输出所有出现次数大于n/k的数,如果没有这样的数,请输出”-1“。示例1输入771231234输出123解法一:利用mapimportjava.io.*;importjava.util
- 程序员代码面试指南刷题--第二章.将单向链表按某值划分为左边小,中间相等,右边大的形式
一年而已
程序员代码面试指南刷题
题目描述给定一个链表,再给定一个整数pivot,请将链表调整为左部分都是值小于pivot的节点,中间部分都是值等于pivot的节点,右边部分都是大于pivot的节点。除此之外,对调整后的节点顺序没有更多要求。输入描述:第一行两个整数n和pivot,n表示链表的长度。第二行n个整数ai表示链表的节点。输出描述:请在给定的函数内返回链表的头指针。示例1输入5390451输出10459备注:1≤n≤10
- 程序员代码面试指南刷题--第五章.找到字符串的最长无重复字符子串
一年而已
程序员代码面试指南刷题
题目描述给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有字母都不相同)。输入描述:输入包含两行,第一行包含一个整数n(1≤n≤10^5),代表数组arr的长度,第二行包含n个整数,代表数组arr(1≤arr[i]≤10^6)。输出描述:输出一个整数,代表arr的最长无重复字符的长度。示例1输入42345输出4示例2输入522343输出3解法一:借助hash表importja
- 程序员代码面试指南刷题--第二章.判断一个链表是否为回文结构
一年而已
程序员代码面试指南刷题
题目描述给定一个链表,请判断该链表是否为回文结构。输入描述:n表示链表的长度ai表示链表的各个节点的值。输出描述:如果为回文结构输出“true”,否则输出“false”。示例1输入41221输出true备注:1≤n≤1000000−1000000≤ai≤1000000解法一:利用栈importjava.io.*;importjava.util.*;publicclassMain{publicst
- Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
- RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
- FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
- 通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
- 如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
- spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
- 用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
- 1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
- 浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
- web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
- Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
- 【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
- Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
- Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
- 编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
- lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
- [IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
- flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
- Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
- C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
- 今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
- 单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
- Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
- 公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
- java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
- linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
- ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
- Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
- 微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><