[2021 Spring] CS61A 学习笔记 Homework 7: Scheme Lists
时间:2021-07-22
本文章向大家介绍[2021 Spring] CS61A 学习笔记 Homework 7: Scheme Lists,主要包括[2021 Spring] CS61A 学习笔记 Homework 7: Scheme Lists使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
作业说明: https://inst.eecs.berkeley.edu/~cs61a/sp21/hw/hw07/
Q1: Filter Lst
类似内置函数filter
(define (filter-lst fn lst)
(if (null? lst)
lst
(if (fn (car lst))
(cons (car lst) (filter-lst fn (cdr lst)))
(filter-lst fn (cdr lst))))
)
Q2: Interleave
目前还是习惯python,python好写就先写python,再翻译成scheme。
# python
def interleave(first, second):
if not first: return second
return [first[0]] + interleave(second, first[1:])
# scheme
(define (interleave first second)
(if (null? first) second
(cons (car first) (interleave second (cdr first)))))
Q3: Accumulate
参考hw02的python版 accumulate。
(define (accumulate combiner start n term)
(if (< n 1) start
(accumulate combiner (combiner start (term n)) (- n 1) term)))
Q4: Without Duplicates
先添加(car lst),再利用filter-lst过滤掉与(car lst)相等的元素。
(define (without-duplicates lst)
(if (null? lst) lst
(cons (car lst)
(without-duplicates
(filter-lst
(lambda (x) (not (= x (car lst))))
lst)))))
原文地址:https://www.cnblogs.com/ikventure/p/15043541.html
- 一步一步学lucene——(第二步:示例篇)
- 类属性的延迟计算
- 一步一步学lucene——(第三步:索引篇)
- 在Python应用中使用MongoDB
- Python检查xpath和csspath表达式是否合法
- 一步一步学lucene——(第四步:搜索篇)
- Python爬虫代理IP池
- SSDB图形界面管理工具:phpssdbadmin安装部署
- [Go 语言社区] 初始化内存数据--游戏列表数据
- SSDB安装配置记录
- Python标准库笔记(3) — datetime模块
- Django 1.10中文文档-第一个应用Part4-表单和通用视图
- Python标准库笔记(2) — re模块
- Python爬虫—破解JS加密的Cookie
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- nginx部署react项目
- Golang 标准库 限流器 time/rate 设计与实现
- Node搭建简易的UDP服务器
- cordova run android 下载gradle报timeout
- How we redesign the NSQ-NSQ重塑之客户端
- [PHP] 使用php生成下载csv文件
- 深入浅出MySQL crash safe
- Cordova+React+Ant.design项目搭建
- ubuntu配置ZeroTier
- 有赞零售小票打印图片二值化方案
- 虚拟机中CentOS获取ip
- CentOS7 安装JDK8,tomcat8
- Py2和Py3共存相关问题
- 解决node-sass无法安装导致依赖安装失败
- 0307前端笔试题