erlang 小程序:整数序列,搜索和为正的最长子序列
近期学习了一下erlang, 编了个小程序
算法例如以下:
把參数分为三个
当前位置的前子序列(Save)(比方 -5, 1,2,-1, _, ... ) 当前位置为_时, 前子序列就是 1,2,-1
以及此子序列的和(CurSum) ( 1,2,-1的 CurSum 是 2)
剩余的数 Rest; 剩余的数也能够表示为 [H|T] ,H是第一元素,T为剩余的元素是列表
处理步骤例如以下:
假设 Rest 为空,说明处理完成。打印 CurSum和Save
假设,还剩一个元素(Rest仅仅有一个元素)
假设此元素与CurSum的和依旧是正。应该包含此元素
反之不包含它
Rest有多个元素
假设此元素与CurSum的和依旧是正,应该包含此元素(存入Save, CurSum 更新为CurSum+H), 继续递归
否则,由于增加此元素CurSum为负,对后面的序列没有贡献。应该又一次计算,在此之前,打印Save。做个了断
-module(tut1).
-export([maxlen_pos_sublist/3]). maxlen_pos_sublist(Save, CurSum, Rest) when Rest == [] -> io:format("~p~n",[{sum, CurSum}, {list,Save}]);
maxlen_pos_sublist(Save, CurSum, [H|T]) ->
case T == [] of
false ->
case CurSum+H > 0 of
true-> maxlen_pos_sublist(Save++[H],CurSum+H,T);
false-> io:format("~p~n",[{sum, CurSum}, {list,Save}]), maxlen_pos_sublist([],0,T)
end;
true ->
case CurSum+H > 0 of
true-> maxlen_pos_sublist(Save++[H],CurSum+H,[]);
false-> maxlen_pos_sublist(Save,CurSum,[])
end
end. % c(tut1).
% tut1:maxlen_pos_sublist([],0,[1]).
% tut1:maxlen_pos_sublist([],0,[1,2]).
% tut1:maxlen_pos_sublist([],0,[1,3,-6,2,5]).
erlang 小程序:整数序列,搜索和为正的最长子序列的更多相关文章
- 百度小程序-接入自然搜索-API提交Url-c#开发
开发百度小程序后,接下来,人们最想做的是让百度更多的录入自家内容.因为小程序资源被索引后,才可能在搜索结果中展现. 百度也提供了小程序的自然搜索提交入口.一共有两种方式: 第一种是用已有的H5网站资源 ...
- 微信小程序----搜索框input回车搜索事件
在微信小程序里的搜索框,按软键盘回车键触发搜索事件. <input type="text" placeholder="搜索" value="{ ...
- 微信小程序导航:官方工具+精品教程+DEMO集合(1月7更新)
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug ...
- 微信小程序 教程及示例
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有,转载请联系作者获得授权.微信小程序正式公测, ...
- 微信小程序正式上线 可置于聊天窗口顶部
历经一年的等待后,小程序在2017年1月9日凌晨终于揭开神秘面纱,正式上线. 微信小程序推广海报 随着小程序正式上线,用户现在可以通过二维码.搜索等方式体验到开发者们开发的小程序了. 用户只要将微信更 ...
- 微信小程序资料集合
一:官方地址集合: 1:官方工具:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=1476434678461 2: ...
- 微信小程序开发详解——小程序,大颠覆!
微信小程序开发 联系 苏念 188.1414.7927 微信小程序系统开发 微信新功能开发 小程序开发 小程序怎么开发 app小程序开发 简化小程序开发 微信小程序定制 小程序制作 开发微信小程序 ...
- 3个微信小程序体验报告
1.小程序摩拜单车.腾讯视频.JD的体报告 2.小程序的入口存在不公平 3.小程序2.0会怎么样?WSO浅谈 KEVIN常用的APP是以摩拜单车与JD商城和大众点评等,那么今天也就通过这上个进行对比 ...
- 张小龙的野心:用小程序重构web|小程序好处及可能的不足
一:张小龙的野心:用小程序重构web 一 很多年以前,张小龙写了一款软件:Foxmail. 这款软件当年有数百万用户,这是一个相当庞大的量,因为彼时网民也只有千万当量级的规模. 我是一个非常忠实的用户 ...
随机推荐
- jqery实现一个图标上下滑动效果
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- pip安装及使用
1.pip下载安装 1.1 pip下载 # wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5= ...
- Django多变关联、增加数据、删除数据
建立表之间的关联关系: models.py里面对表的字段及外键关系的设置如下: from django.db import models # Create your models here. #出版社 ...
- Hadoop全分布式模式安装
一.准备 1.准备至少三台linux服务器,并安装JDK 关闭防火墙如下 systemctl stop firewalld.service systemctl disable firewalld.se ...
- 【转】Unicode utf8等编码类型的原理
原文地址http://www.cnblogs.com/daxiong2014/p/4768681.html Unicode utf8等编码类型的原理 1.ASCII码 我们知道,在计算机内部,所有的 ...
- 记账APP市场分析
文/欧小慧(简书作者)原文链接:http://www.jianshu.com/p/281fcdce3baa著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 一.市场环境 1.理财记账类用 ...
- mysql监控指标
1.最大连接数监控 show VARIABLES like "max_connections"; //最大连接数 show global status like 'Threads_ ...
- d3 画简单的柱形图
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Pushlets的初始化陷阱
Pushlets是在类名为Pushlet的servlet的init方法中进行初始化的.一般我们会在web.xml配置pushlet的时候,指定其servlet在Web应用启动时就进行初始化,即便这样, ...
- 【CF1028B】Unnatural Conditions(构造)
题意:给定n与m,要求构造两个长度不超过2230的数字x,y使得x,y各自的数位和>=n,x+y的数位和<=n 思路: #include<cstdio> #include< ...