matlab simhash,最大非负的序列和 - 轻舞凋零的个人空间 - OSCHINA - 中文开源技术交流社区...
第一种方法:设定一个从i开始的计数,然后再以j为起点,k不断变化,算和算法复杂度是o(N*N*N)
第二种是第一种的改进算法复杂度是O(N*N)
第三中是最直接的 。算法复杂度是O(N) 它隐藏着条件。从正数开始,如果和为0就重新开始计算。
第四种方式,递归。时间复杂度是 O(NlogN)
递归算法的时间复杂度怎么计算呢?
重点说下递归。
说实话我也不太清楚多次递归,一直很困惑,通过输出检测,发现递归函数实际上始终只有一个递归栈的。
int arr[7] = {2,-1,3,-4,1,2,-3};
这个数组其实会被不断的运算直到左边=右边
数组的计算过程是 06 的左边 03和4,6
03又被解析成01和23 然后01被分解成00和11
递归真是一个有意思的东西哦。
最后附上代码
#include
int get_max_in_three(int a,int b,int c){
if(a > b){
if(a > c){
return a;
}else{
return c;
}
}else{
if( b > c){
return b;
}else{
return c;
}
}
}
int bestqueue(int *arr ,int left,int right){
int i,center;
int left_max,right_max;
int left_bord_sum,left_bord_max;
int right_bord_sum,right_bord_max;
if(left == right){
if(arr[left] > 0){
return arr[left];
}
else
{
return 0 ;
}
}
center = (left + right)/2;
left_max = bestqueue(arr,left,center);
right_max = bestqueue(arr,center+1,right);
left_bord_sum = left_bord_max = 0;
for(i=center;i>=left;i--){
left_bord_sum += arr[i];
if(left_bord_sum > left_bord_max){
left_bord_max = left_bord_sum;
}
}
right_bord_sum = right_bord_max = 0;
for(i=center+1;i<=right;i++){
right_bord_sum += arr[i];
if(right_bord_sum > right_bord_max){
right_bord_max = right_bord_sum;
}
}
return get_max_in_three(left_max,left_bord_max+right_bord_max,right_max);
}
int maxqueue_qute(int arr[],int len){
int i,j,k,sum,max;
max = 0;
for(i=0;i
for(j=i;j
sum = 0;
for(k=i;k<=j;k++){
sum += arr[k];
}
if(sum > max){
max = sum;
}
}
}
return max;
}
int maxqueue_qute_more(int arr[],int len){
int i,j,sum,max;
max = 0;
for(i=0;i
sum = 0;
for(j=i;j
sum += arr[j];
if(sum > max){
max = sum;
}
}
}
return max;
}
int maxqueue_qute_fast(int arr[],int len){
int i,max,sum;
max = sum = 0;
for(i=0;i
sum += arr[i];
if(sum
sum = 0;
}
if(sum > max){
max = sum;
}
}
return max;
}
int main(int argc, char const *argv[])
{
int max;
int arr[7] = {2,-1,3,-4,1,2,-3};
printf("%d\n", maxqueue_qute(arr,7));
printf("%d\n", maxqueue_qute_more(arr,7));
printf("%d\n", maxqueue_qute_fast(arr,7));
printf("%d\n", maxqueue_rec(arr,0,6));
printf("%d\n", bestqueue(arr,0,6));
printf("end");
return 0;
}
matlab simhash,最大非负的序列和 - 轻舞凋零的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐
- java 全排列非递归算法_全排列的非递归算法 - osc_ivkc73ze的个人空间 - OSCHINA - 中文开源技术交流社区...
1.全排列的定义和公式: 从n个数中选取m(m<=n)个数按照一定的顺序进行排成一个列,叫作从n个元素中取m个元素的一个排列.由排列的定义,显然不同的顺序是一个不同的排列.从n个元素中取m个元素 ...
- 精英主义 遗传算法 matlab,遗传算法优化 - osc_lfs4vsih的个人空间 - OSCHINA - 中文开源技术交流社区...
1.遗传算法简介 遗传算法是一种基于自然选择和群体遗传机理的搜索算法,它模拟了自然选择和自然遗传过程中的繁殖.杂交和突变现象.再利用遗传算法求解问题时,问题的每一个可能解都被编码成一个"染色 ...
- matlab一计算自动四舍五入6,matlab总结 - osc_msmij2gf的个人空间 - OSCHINA - 中文开源技术交流社区...
MATLAB 总结 一 基础部分 1.save('x','y','z') 保存三个变量 2.load('var') 加载变量 3.help size who dir cd delete clear 4 ...
- 频率域滤波matlab函数,频率域滤波(2) - osc_t0xmr011的个人空间 - OSCHINA - 中文开源技术交流社区...
一.频率域滤波的基本步骤: 1)使用函数tofloat把输入图像转换为浮点图像(im2double函数也可以) [f,revertclass] = tofloat(f) 2)使用函数paddedsiz ...
- matlab 康托尔集,测测你的数学直觉 - Dagis的个人空间 - OSCHINA - 中文开源技术交流社区...
已知: 新冠测试的准确率: 新冠患者被测出positive的概率是0.9 非新冠患者被测试出negative的概率是0.9 整个人群的新冠患者比例是0.1 如果一个人被测试出positive,那他是新 ...
- php是阻塞模式吗,PHP非阻塞模式 - 黑白大熊猫的个人空间 - OSCHINA - 中文开源技术交流社区...
by 尘缘 on 七月 31st, 2014 // Filed Under → php 让PHP不再阻塞当PHP作为后端处理需要完成一些长时间处理,为了快速响应页面请求,不作结果返回判断的情况下,可以 ...
- matlab提示音,matlab发出声音 - osc_45mm6g1p的个人空间 - OSCHINA - 中文开源技术交流社区...
我有时候运行一段很长的代码,在等待的时候去做别的事,希望程序运行完可以有一个提示音. 这可以用matlab的一个函数sound实现,该函数的输入参量是音频数据向量.采样频率和转换位数. % 响一声 s ...
- c语言输出法雷序列,法雷(法里)序列 - osc_h0wb1wlt的个人空间 - OSCHINA - 中文开源技术交流社区...
定义: 对任意给定的一个自然数n,将分母小于等于n的不可约的真分数按升序排列,并且在第一个分数之前加上0/1,在最后一个分数之后加上1/1,这个序列称为n级法雷数列,即法雷数列是0和1之间最简分数升序 ...
- php命名空间非限定名称,PHP命名空间 - osc_nnp3dgfb的个人空间 - OSCHINA - 中文开源技术交流社区...
1.概述 命名空间是PHP为了解决重名问题推出的机制,密码空间可以认为地将内存进行分隔,让不同内存区域的同名结构得以共存,类似操作系统中文件夹的概念 基础语法:namespace space_name ...
最新文章
- 重新mysql-server
- C++11 类型后置语法
- ARM体系结构及内核回顾总结(一)
- 函数定义、函数参数、跨脚本调用函数
- JAVA中 fastjson判断JSONObject是否为空,方法isEmpty()
- 自我提高网站list
- 学生个人网页设计作品 学生个人网页模板 简单个人主页成品 个人网页制作 HTML学生个人网站作业设计代做
- HTTP请求时POST参数到底应该怎么传?
- 以图搜图 图像匹配_百度识图:以图搜图找到相似图片原理分析
- iPhone防止系统自动下载更新
- 阿里云 Teambition 网盘亲测体验,秀翻全网!
- Android GreenDao
- 凯文.都迪的超级记忆力训练教程
- 关于linux下VNC服务的一些介绍(本文章是基于tigervnc)
- 王权富贵:使用pytorch复现Fater-RCNN
- 上网行为安全之防火墙端口映射及应用
- ZCMU1411:喜闻乐见的a+b
- thinkphp5阿里云SDK短信验证
- 管理者运动初衷不是竞技,只为健康吗?
- 5G Massive MIMO的概念和优点总结