练习链接: http://erlang.org/course/exercises.html

题目:
1. Write a function lists1:min(L) which returns the mini- mum element of the list L.

2. Write a function lists1:max(L) which returns the maximum element of the list L.

3. Write a function lists1:min_max(L) which returns a tuple containing the min and max of the list L.

    > lists1:min_max([4,1,7,3,9,10])     {1, 10}

回答:

%% Author: Quon
%% Created: 2009-8-7
%%File: lists1.erl
-module(lists1).
-export([max/1,min/1,min_max/1]).

%Ex1  
max([F | R]) ->
  max(R,F).
  
max([], M) ->
  M;

max([F | R], M) ->
  if
    F >= M ->
      max(R, F);
    F < M ->
      max(R, M)
  end.

%---------------------------------------+
%Ex2
min([], M) ->
  M;

min([F | R], M) ->
  if
    F >= M ->
      min(R, M);
    F < M ->
      min(R, F)
  end.
  
min([F | R]) ->
  min(R,F).

%--------------------------------------+
%Ex3
min_max([], {Min, Max}) ->
  {Min,Max};
  
min_max([F | R], {Min, Max}) ->
  if
    F >= Max ->
      min_max(R, {Min, F});
    F < Min ->
      min_max(R, {F, Max});
    true ->
      min_max(R, {Min, Max})
  end.
  
min_max([F | R]) ->
  min_max(R, {F, F}).

转载于:https://www.cnblogs.com/quon/archive/2009/08/07/erlang_exercise_3.html

Erlang Start![3]相关推荐

  1. erlang的tcp服务器模板

    改来改去,最后放github了,贴的也累,蛋疼 还有一个tcp批量客户端的,也一起了 大概思路是 混合模式 使用erlang:send_after添加recv的超时处理 send在socket的opt ...

  2. Erlang服务端开发(无需Erlang基础)笔试题

    某游戏公司Erlang服务端开发(无需Erlang基础)笔试题,面向C/C++程序员 一.用你熟悉的语言解决下面的问题. 1.反转输出字符串,并移除其中的空格. 2.快速的判断一个数是否素数的方法. ...

  3. erlang调优方法

    2019独角兽企业重金招聘Python工程师标准>>> 1. 来自Scaling Erlang的方法 内核调优: # Increase the ipv4 port range: sy ...

  4. CentOS安装新版RabbitMQ解决Erlang 19.3版本依赖

    2019独角兽企业重金招聘Python工程师标准>>> 通过yum等软件仓库都可以直接安装RabbitMQ,但版本一般都较为保守. RabbitMQ官网提供了新版的rpm包(http ...

  5. centos 6.8 源码安装 erlang/otp 19.0.2

    2019独角兽企业重金招聘Python工程师标准>>> 最近一直都是在debian jessie下开发erlang代码,但部署环境一直都是在centos 6上面,发现centos 6 ...

  6. 解析Erlang日志组件lager的lager_transform模块

    为什么80%的码农都做不了架构师?>>>    使用 lager 的时候,在编译应用的时候,需要加入选项 {parse_transform, lager_transform} erl ...

  7. 基于Erlang语言的视频相似推荐系统 | 深度

    作者丨gongyouliu 来源 | 转载自大数据与人工智能(ID:ai-big-data) [导语]:作者在上一篇文章<基于内容的推荐算法>中介绍了基于内容的推荐算法的实现原理.在本篇文 ...

  8. Erlang之父给程序员的两点忠告 | 缅怀

    整理 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 北京时间 4月20日,据Erlang Solutions.Erlang Factories的创始人Francesco Cesarini的 ...

  9. 在 Ubuntu 上安装最新版本的 Erlang方法介绍

    Erlang 是一种用于构建大规模可扩展实时系统的函数式编程语言.Erlang 最初是由 爱立信 创建的专有软件,后来被开源. Erlang 在 Ubuntu 的 Universe 仓库 中可用.启用 ...

  10. [Erlang33]使用recon从网页查看Erlang运行状态

    recon_web observer web页面查看,不需求wx GUI 需要Erlang安装wx GUI application 保证可以在生产环境中被安全调用 如果对于ets非常多或进程达到一定数 ...

最新文章

  1. 清华系“AI帮”崛起,要驱动1500亿元产业规模
  2. 067_为什么要使用xhtml
  3. DedeCMS生成首页html静态文件的教程
  4. ubuntu 拷贝文件
  5. 如何将 Azure 上的 Ubuntu 19.10 服务器升级到 20.04
  6. python编程工具是什么_python编程应该用什么工具
  7. ltsc系统激活_WIN10_X64企业版LTSC 电脑公司装机版 202008
  8. Hement:MVP架构设计(一)
  9. python爬取网页上的特定链接_python 用bs4解析网页后,如何循环打开爬取出来的网址链接?...
  10. windows 2013 datacenter 安装sql server2008 r2兼容性
  11. 机器学习基础(六)—— 交叉熵代价函数(cross-entropy error)
  12. 科来网络分析系统2010v7.3.1.2436 激活注册汉化方法
  13. Timed out waiting for /dev/.coldboot_done
  14. iOS汉语转拼音以及按照拼音排序
  15. [ecshop 经验 ]transport.js run error 68ecshop 小京东 火狐提示 同源策略和跨域访问 68ecshop
  16. 惠州东江威立雅的全方位文件安全管理
  17. java生成word带多级标题,word2007中多级标题的设置和目录的自动生成 | 学步园
  18. cmd imp导入dmp文件_导入Oracle的dmp备份的dmp文件报错“IMP-00002:无法打开c:/Documents.DMP进行读取”...
  19. 三羊献瑞-第六届蓝桥杯省赛
  20. 常见颜色RGB值,有图。

热门文章

  1. 对spring 中IOC 的理解
  2. 最新版,别的可以不用看了,zabbix 监控 esxi
  3. kubernetes API Server 权限管理实践
  4. MyEclipse-Web开发时何时重启tomcat、重新部署
  5. 深入探讨下Linux下修改hostname的五个问题(四)
  6. Vaadin学习经验
  7. xdg-open 打开“irc:*”链接
  8. Symfony2CookBook:如何创建自定义的表单域类型
  9. 协议学习:TCP/IP协议之物理层 上
  10. java 扩展类加载器_java实现自定义类加载器