HDU-1028-Ignatius and the Princess III
http://acm.hdu.edu.cn/showproblem.php?pid=1028
整数划分,无奈,超时
#include
int huafen(int n,int m)//将n分为最大加数不超过m
{
if(n<1||m<1)
return 0;
if(n==1||m==1)
return 1;
if(n
参考了TankyWoo大牛的博客,原来用母函数也能解决整数划分问题
给个例子
有1克、2克、3克、4克的砝码各一 枚,能称出哪几种重量?每种重量各有几种可能方案?
1个1克的砝码可以用函数1+x表示
1个2克的砝码可以用函数1+x^2表示
1个3克的砝码可以用函数1+x^3表示
1个4克的砝码可以用函数1+x^4表示
(1+x)(1+x^2)(1+x^3)(1+x^4)
=(1+x+x^2+x^3)(1+x^3+x^4+x^7)
=1+x+x^2+2x^3+2x^4+2x^5+2x^6+2x^7+x^8+x^9+x^10
例如右端有2x^5 项,即称出5克的方案有2:5=3+2=4+1;同样6=1+2+3=4+2;10=1+2+3+4。
故称出6克的方案有2,称出10克的方案有1
由此可以构造整数划分的函数
G(x)=(1+x+x^2+……)*(1+x^2+x^4…..)*(1+x^3+x^6…….)*…….
只要模拟多项式相乘即可,求出x^n的系数
#include
int c1[10001],c2[10001];
int main()
{
int n,i,j,k;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<=n;i++)
{
c1[i]=1;
c2[i]=0;
}
for(i=2;i<=n;i++)
{
for(j=0;j<=n;j++)
for(k=0;k+j<=n;k+=i)
c2[j+k]+=c1[j];
for(j=0;j<=n;j++)
{
c1[j]=c2[j];
c2[j]=0;
}
}
printf("%d\n",c1[n]);
}
return 0;
}
你可能感兴趣的:(HDU-1028-Ignatius and the Princess III)
- 打卡信奥刷题(865)用C++信奥P11077[普及组/提高] 「FSLOI Round I」石子
Loge编程生活
C++c++开发语言算法青少年编程数据结构
P11077「FSLOIRoundI」石子题目背景Englishstatement.YoumustsubmityourcodeattheChineseversionofthestatement.小F和小L正在玩一种古老的博弈游戏的改版。题目描述给定nnn堆石子,第iii堆有aia_iai个石子。设序列a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1,a2,⋯,an的平均数为xxx。此
- 【贪心+二分+双指针】P9559 [SDCPC2023] Fast and Fat|普及
软件架构师何志丹
#洛谷普及c++洛谷算法贪心二分查找双指针队员
本文涉及知识点本博文代码打包下载C++贪心C++二分查找C++算法:滑动窗口及双指针总结[SDCPC2023]FastandFat题面翻译【题目描述】您正在参加一场团体越野比赛。您的队伍共有nnn名队员,其中第iii名队员的速度为viv_ivi,体重为wiw_iwi。比赛允许每名队员独立行动,也允许一名队员背着另一名队员一起行动。当队员iii背着队员jjj时,如果队员iii的体重大于等于队员jjj
- 矩阵与图论系列 题解
搂鱼114514
矩阵图论算法
1.AT_dp_rWalk题意一个有向图有nnn个节点,编号111至nnn。给出一个二维数组A1...n,1...nA_{1...n,1...n}A1...n,1...n,若Ai,j=1A_{i,j}=1Ai,j=1说明节点iii到节点jjj有一条有向边;若Ai,j=0A_{i,j}=0Ai,j=0则说明节点iii到节点jjj没有边。求长度为kkk的路径的方案数。答案模109+710^9+7109
- 【二分查找】P9698 [GDCPC2023] Path Planning|普及
闻缺陷则喜何志丹
#洛谷普及算法图论c++洛谷二分查找路径网格
本文涉及的基础知识点本博文代码打包下载C++二分查找[GDCPC2023]PathPlanning题面翻译【题目描述】有一个nnn行mmm列的网格。网格里的每个格子都写着一个整数,其中第iii行第jjj列的格子里写着整数ai,ja_{i,j}ai,j。从000到(n×m−1)(n\timesm-1)(n×m−1)的每个整数(含两端)在网格里都恰好出现一次。令(i,j)(i,j)(i,j)表示位于第
- 力扣——完全平方数
WLKQ
力扣leetcode算法职场和发展
题目链接:链接题目描述:思路:用动态规划,设iii的最少数量是dp(i)dp(i)dp(i),最多数量是iii,如1+1+…+1则dp(i)=min{i,dp(i−j∗j)+1}dp(i)=min\{i,dp(i-j*j)+1\}dp(i)=min{i,dp(i−j∗j)+1}这里为什么是dp(i−j∗j)+1dp(i-j*j)+1dp(i−j∗j)+1,因为要得到iii减去一个平方数后的最小组成
- Leetcode 980 Unique Path III
xxxmmc
leetcode深度优先算法
题意给定一个二维矩阵,0代表空地,1代表起点,-1代表墙,2代表终点,求从起点出发,走到终点,并且能够经过所有的空地,一共有几条唯一路径思考首先求多少条路径问题我们一开始会想到dp,但是这一题不行,因为我要经过所有的空地,所以必须dfs求解题解先计算出有多少不是墙的点。然后从起点开始做dfs,对每一层dfs到当前位置有多少个不是墙的点与之前算出的结果进行比对,如果相等并且此时已经遍历到了终点,那么
- 力扣回溯:组合总和3
c栈算法小辰哥
漫话算法leetcode算法职场和发展
1.216.组合总和III-力扣(LeetCode)这道题注意回溯的步骤:递归出口,单次操作,恢复现场classSolution{public:vector>ret;vectorpath;voidset(intk,intn,intsum,intstart){if(path.size()==k){if(sum==n){ret.push_back(path);}return;}for(inti=sta
- 力扣216---组合总和III(Java、递归回溯)
顾城猿
编程题刷题录leetcode算法职场和发展
目录题目描述:思路描述:代码:题目描述:找出所有相加之和为n的k个数的组合,且满足下列条件:只使用数字1到9每个数字最多使用一次返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。示例1:输入:k=3,n=7输出:[[1,2,4]]解释:1+2+4=7没有其他符合的组合了。示例2:输入:k=3,n=9输出:[[1,2,6],[1,3,5],[2,3,4]]解释:1+
- 【举一反三】力扣刷题-组合总和(Python 实现)
幸运的小新粉
举一反三算法刷题剪枝回溯
快速通道39.组合总和40.组合总和II216.组合总和III377.组合总和Ⅳ前言最近喜欢写举一反三系列,看这个也算个系列就写了。这个系列主要是回溯、枚举还有剪枝,也是非常常用的方法。39.组合总和给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(
- LeetCode - 216 组合总和 III
程序员阿甘
华为OD算法刷题笔记算法JavaScriptleetcode
目录题目来源题目描述示例提示题目解析算法源码题目来源216.组合总和III-力扣(LeetCode)题目描述找出所有相加之和为n的k个数的组合,且满足下列条件:只使用数字1到9每个数字最多使用一次返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。示例输入:k=3,n=7输出:[[1,2,4]]解释:1+2+4=7没有其他符合的组合了。输入:k=3,n=9输出:[[
- 打卡信奥刷题(855)用C++信奥P10902[普及组/提高] [蓝桥杯 2024 省 C] 回文数组
Loge编程生活
C++c++算法开发语言青少年编程数据结构
P10902[蓝桥杯2024省C]回文数组题目描述小蓝在无聊时随机生成了一个长度为nnn的整数数组,数组中的第iii个数为aia_iai,他觉得随机生成的数组不太美观,想把它变成回文数组,也是就对于任意i∈[1,n]i\in[1,n]i∈[1,n]满足ai=an−i+1a_i=a_{n-i+1}ai=an−i+1。小蓝一次操作可以指定相邻的两个数,将它们一起加111或减111;也可以只指定一个数加
- 【蓝桥杯集训·每日一题2025】 AcWing 5437. 拐杖糖盛宴 python
查理零世
蓝桥杯2025每日一题蓝桥杯python算法
5437.拐杖糖盛宴Week22月25日题目描述农夫约翰的奶牛们非常爱吃甜食,尤其爱吃拐杖糖。约翰一共有NNN头奶牛,编号1∼N1\simN1∼N,其中第iii头奶牛的初始高度为aia_iai。约翰给奶牛们准备了MMM根拐杖糖,编号1∼M1\simM1∼M,其中第iii根的高度为bib_ibi。约翰会按照糖果的编号顺序,每次拿出一根糖果喂给奶牛们,直到所有糖果都被喂完为止。每当拿出一根糖果后,约翰
- 【二分查找】P11201 [JOIG 2024] たくさんの数字 / Many Digits|普及
闻缺陷则喜何志丹
#洛谷普及算法c++洛谷二分查找数字需要字符
本文涉及的基础知识点本博文代码打包下载C++二分查找[JOIG2024]たくさんの数字/ManyDigits题目描述JOI高中的Aoi决定在N×NN\timesNN×N的表格中写下N2N^2N2个非负整数。具体地,给定两个长度为NNN的序列A,BA,BA,B,她会在第iii行第jjj列的格子上写下Ai+BjA_i+B_jAi+Bj。Aoi想知道写出这些数需要多少个字符。也就是说,你需要求出写出的N
- Leetcode每日一题——337. 打家劫舍 III。递归四部曲,动态规划
翔空中,策人生
动态规划递归leetcode动态规划算法python
题目链接:力扣题目描述:小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为root。除了root之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。给定二叉树的root。返回在不触动警报的情况下,小偷能够盗取的最高金额。提示:树的节点数在[1,104]范围
- 【Day25 LeetCode】贪心Ⅲ
银河梦想家
leetcode算法
一、贪心Ⅲ1、加油站134这道题直接想法是采用二重循环暴力搜索,简单粗暴但是会超时,是因为以每个点为起点最坏的情况可能都要遍历完全部的序列,有大量重复的操作,那有没有优化的地方呢?有一个结论:如果以iii位置出发最远可达jjj位置,那么在在这段区间里的任意一点出发都不可能达到比jjj位置更远的地方。反证法可以得出。可以通过这个结论避免大量重复搜索,每个位置只会经过一次。代码如下:classSolu
- 蓝桥杯 2022 省 B 洛谷 P8787 砍竹子
Bowser_H
蓝桥杯备考蓝桥杯算法职场和发展
[蓝桥杯2022省B]砍竹子题目描述这天,小明在砍竹子,他面前有nnn棵竹子排成一排,一开始第iii棵竹子的高度为hih_{i}hi.他觉得一棵一棵砍太慢了,决定使用魔法来砍竹子。魔法可以对连续的一段相同高度的竹子使用,假设这一段竹子的高度为HHH,那么使用一次魔法可以把这一段竹子的高度都变为⌊⌊H2⌋+1⌋\left\lfloor\sqrt{\left\lfloor\frac{H}{2}\rig
- 用python做youtube自动化下载器 代码
Eritque arcus
pythonpythonyoutubejs解密
用python做youtube自动化下载器代码项目地址思路流程1.posti.先把post中的headers格式化ii.然后把参数也格式化iii.最后再执行`requests`库的post请求iv.封装成一个函数2.调用解密函数i.分析ii.先取出js部分iii.取第一个解密函数作为我们用的解密函数iv.用execjs执行1.this也就是window变量不存在2.alert不存在v.整合代码3.
- 非支配性排序遗传算法 III---NSGA-III-可用于(多目标模型融合/特征选择与降维/图像多目标优化处理)
ww18000
r语言开发语言数据挖掘机器学习
非支配性排序遗传算法III(NSGA-III)是用于求解多目标优化问题的一种进化算法1。以下是对它的具体介绍1:具体完整算法请跳转:非支配性排序遗传算法III---NSGA-III-可用于(多目标模型融合/特征选择与降维/图像多目标优化处理)发展背景NSGA-III由KalyanmoyDeb和HarshitJain提出,是在NSGA-II的基础上进行改进和扩展,以更好地处理多目标优化问题,尤其是在
- 【深度学习】矩阵的理解与应用
大数据追光猿
深度学习矩阵算法线性代数机器学习python深度学习
一、矩阵基础知识1.什么是矩阵?矩阵是一个数学概念,通常表示为一个二维数组,它由行和列组成,用于存储数值数据。矩阵是线性代数的基本工具之一,广泛应用于数学、物理学、工程学、计算机科学、机器学习和数据分析等领域。1.1矩阵的表示一个矩阵通常用大写字母来表示,例如AAA,而矩阵中的元素则用小写字母来表示,例如aija_{ij}aij,其中iii表示行索引,jjj表示列索引。本质:矩阵是二维的张量矩阵的
- Day24 第七章 回溯算法part03
TAK_AGI
算法
一.学习文章及资料39.组合总和40.组合总和II131.分割回文串二.学习内容1.组合总和题目特点:1.无重复元素的整数数组candidates2.同一个元素可以重复被选取因为本题没有组合数量要求,仅仅是总和的限制,所以递归没有层数的限制,只要选取的元素总和超过target,就返回!而在77.组合(opensnewwindow)和216.组合总和III(opensnewwindow)中都可以知道
- 【C++贪心 二分查找】P8161 [JOI 2022 Final] 自学 (Self Study)|普及
闻缺陷则喜何志丹
#洛谷普及c++算法洛谷二分查找贪心自学课程
本文涉及知识点C++贪心C++二分查找[JOI2022Final]自学(SelfStudy)题目描述在JOI高中高一的第三个学期的MMM个星期的时间内,有NNN门课,编号为1∼N1\simN1∼N。每个星期有NNN个课时,第iii个课时上课程iii的一节课。比太郎是一位高一学生。对于N×MN\timesMN×M个课时中的每一个,他会选择如下行动中的一个:行动1:比太郎去上课。如果他去上了课程iii
- 浅析.卡特兰数
_FastFT2013
编程c++算法学习深度优先算法
浅析卡特兰数1.卡特兰数是什么卡特兰数(英语:Catalannumber),又称卡塔兰数、明安图数,是组合数学中一种常出现于各种计数问题中的数列。以比利时数学家欧仁·查理·卡特兰的名字命名。1730年,清代蒙古族数学家明安图在对三角函数幂级数的推导过程中首次发现,1774年被发表在《割圜密率捷法》。卡特兰数的第iii项我们记为CiC_iCi,注意:不是组合数学中的那个CnmC^m_nCnm,我们要
- leetcode 12. 整数转罗马数字
lyx142606
#leetcode.1--100leetcodelinux算法
classSolution{public:stringintToRoman(intnum){vectorvec1={"","I","II","III","IV","V","VI","VII","VIII","IX"};vectorvec2={"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};vectorvec3={"","C","CC","CCC
- 【洛谷入门赛】B4011 speech 202407 场
Igallta_813622
题解算法数据结构c++笔记c语言学习windows
题目大意一共有mmm种语言,第iii种语言的语法数量为aia_iai。一共有nnn个居民,第iii个居民使用的语言为bib_ibi。假设语言iii使用的人数为cic_ici,求出第一个最大的ai×cia_i\timesc_iai×ci。思路首先,我们要输入nnn、mmm、数组aaa、数组bbb。这道题我们不知道的东西是ccc数组,那我们就要去求得它。要怎么去求呢?注意到题目给了我们一个bbb数组,
- CF1801D
Lqingyyyy
代理模式
CF1801D题目大意:nnn个顶点,mmm条边的图。你一开始在起点1,拥有PPP枚硬币,通过每条(i,j)(i,j)(i,j)边都需要花费一定的硬币s(i,j)s(i,j)s(i,j)。但你在每个城市iii都可以打工赚硬币wiw_iwi(可以多次打工)。请问从1到nnn的最少打工次数是多少次?会有一个贪心的想法:去赚钱最多的城市打最少的工,然后一次性去到终点。但很快就能否决掉,在去赚硬币最多的城
- 代码随想录算法营Day44 | 198. 打家劫舍,213. 打家劫舍 II,337. 打家劫舍 III
寂枫zero
算法数据结构pythonleetcode
198.打家劫舍这道题要求不能偷相邻的房子,那么它的动态转移公式就是dp[i]=max(dp[i-1],dp[i-2]+nums[i])即当前索引能抢的最大值就是前一个索引的值与i-2的索引的值加上当前金额的最大值。defrob(self,nums:List[int])->int:iflen(nums)int:n=len(nums)ifnint:defhelp(root):ifnotroot:re
- GDOI2008 指纹 题解
搂鱼114514
算法
题意有nnn张图片,第iii张图片有A,B,C,DA,B,C,DA,B,C,D四个元素。称一张图片是累赘的:有两张图片x,yx,yx,y,如果xxx有至少三个元素大于yyy所对应的三个元素,那个yyy就是累赘的。例如x(A,B,C,D)=(2,3,3,4),y(A,B,C,D)=(4,2,5,6)x(A,B,C,D)=(2,3,3,4),\y(A,B,C,D)=(4,2,5,6)x(A,B,C,D
- 离线安装nginx
知道的越多越难受
nginx运维
文件在资源里1,解压nginx,放在home里如果有网,可以直接下载依赖yuminstallopenssl-devel2,进入解压后的nginx文件夹里执行:iii自定义文件名称,吧zlib和pcre解压到该文件夹下pcre下载地址:https://www.pcre.org/zlib下载地址:./configure--with-zlib=/usr/local/iii/zlib-1.3.1--wit
- [GESP202309 六级] 小杨买饮料
zaiyang遇见
#GESP真题解析算法信息学奥赛程序设计竞赛GESPCSPJ/SC/C++
文章目录题目描述输入格式输出格式输入输出样例#1输入#1输出#1输入输出样例#2输入#2输出#2输入输出样例#3输入#3输出#3说明/提示提交链接解析搜索的想法(80分)01背包的想法(60分)01背包的变形(100分)题目描述小杨来到了一家商店,打算购买一些饮料。这家商店总共出售NNN种饮料,编号从000至N−1N-1N−1,其中编号为iii的饮料售价cic_ici元,容量lil_ili毫升。小
- 【LeetCode 刷题】动态规划(3)-打家劫舍
Bran_Liu
LeetCodeleetcode动态规划算法python
此博客为《代码随想录》动态规划章节的学习笔记,主要内容为动态规划打家劫舍问题的相关题目解析。文章目录198.打家劫舍213.打家劫舍II337.打家劫舍III198.打家劫舍题目链接classSolution:defrob(self,nums:List[int])->int:n=len(nums)dp=[0]*(n+1)dp[0]=0dp[1]=nums[0]foriinrange(2,n+1):
- 多线程编程之卫生间
周凡杨
java并发卫生间线程厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
- How to Install GUI to Centos Minimal
sunjing
linuxInstallDesktopGUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
- Shell 函数
daizj
shell函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
- Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
- 浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
- 关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
- You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
- MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
- mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙 alxw4616@Msn.com
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
- 自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
- threadLocal实例
bijian1013
javathreadjava多线程threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
- activemq安全设置—设置admin的用户名和密码
bijian1013
javaactivemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
- 【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
- 【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
- Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
- java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
- 返回null还是empty
bylijinnan
javaapachespring编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
- [科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
- 过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
- java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
- 网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
- mac中用命令行运行mysql
dcj3sjt126com
mysqllinuxmac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
- MongDB查询(1)——基本查询[五]
eksliang
mongodbmongodb 查询mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
- base64,加密解密 经融加密,对接
y806839048
经融加密对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
- JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
- apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
- java经典的基础题目
macroli
java编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
- 你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点学习永无止境纵观千象regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
- [一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hivehive分析表hive统计信息hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
- Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源