hackerrank--- challenges/fp-update-list

纯属为了练习haskell, 竟然贴代码都没办法高亮。

challenges/fp-update-list

Update the values of a list with their absolute values. The input and output portions will be handled automatically during grading. You only need to write a function with the recommended method signature.

Input Format 
There are N integers, each on a new line. These are the N elements of the input array.

Output Format 
N integers each on a new line; these are the absolute values of the input list, in that order.

Sample Input

2
-4
3
-1
23
-4
-54

Sample Output

2
4
3
1
23
4
54

Accpeted Code:

1 -- Enter your code here. Read input from STDIN. Print output to STDOUT
2
3 f arr = [if x >= 0 then x else -x | x <- arr] -- Complete this function here
4
5 -- This section handles the Input/Output and can be used as it is. Do not modify it.
6 main = do
7    inputdata <- getContents
8    mapM_ putStrLn $ map show $ f $ map (read :: String -> Int) $ lines inputdata

hackerrank--- challenges/fp-update-list,布布扣,bubuko.com

时间: 2024-10-06 17:43:03

hackerrank--- challenges/fp-update-list的相关文章

对openflow 1.0协议的扩展

通过这几天对openvswitch代码的分析,以及项目的需要,需要对openflow 1.0进行一定的扩展,发现网上没有这方面的教程,虽然在搞懂ovs代码架构,floodlight controller中利用的事件驱动模型之后,会觉得并不是难事,但是对于刚入门SDN的同学来说,需要一番折腾,这里简单记录一下,希望帮助到其他人.环境配置:2host + 1 OVS + floodlight软件版本: openvswitch 1.9.0 , floodlight0.85  在尝试对ovs中的open

Scrapy学习-18-去重原理

Scrapy去重原理 scrapy本身自带一个去重中间件 scrapy源码中可以找到一个dupefilters.py去重器 源码去重算法 # 将返回值放到集合set中,实现去重 def request_fingerprint(request, include_headers=None): if include_headers: include_headers = tuple(to_bytes(h.lower()) for h in sorted(include_headers)) cache =

scrapy入门与进阶

Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便. Scrapy 使用了 Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求. scrapy流程图 旧版 新版 组件及调用流程(数据流) Scrapy Engine(引擎): 负责Spider.ItemP

Scrapy框架的八个扩展

一.proxies代理 首先需要在环境变量中设置 from scrapy.contrib.downloadermiddleware.httpproxy import HttpProxyMiddleware 方式一:使用默认 os.environ { http_proxy:http://root:[email protected]:9999/ https_proxy:http://192.168.11.11:9999/ } 缺点:原生代理是把代理放在python环境变量里面,也就是要依赖于pyth

scrapy-redis 分布式 案例一

为什么要学? Scrapy_redis在scrapy的基础上实现了更多,更强大的功能. 有哪些功能体现? request去重.爬虫持久化.实现分布式爬虫.断点续爬(带爬取的request存在redis中).增量式爬虫(爬取过的生成指纹) 工作流程 先来看看之前的爬虫流程 再来看看scrapy_redis的爬虫流程 安装: pip install scrapy-redis 源码包安装: git clone git://github.com/rolando/scrapy-redis 官方文档在:ht

scrapy-redis数据去重与分布式框架

数据去重 生成指纹:利用hashlib的sha1,对request的请求体.请求url.请求方法进行加密,返回一个40位长度的16进制的字符串,称为指纹 fp = hashlib.sha1() fp.update(to_bytes(request.method)) fp.update(to_bytes(canonicalize_url(request.url))) fp.update(request.body or b'') return fp.hexdigest() 进队: 如果请求需要过滤,

使用 Scrapy 爬取去哪儿网景区信息

Scrapy 是一个使用 Python 语言开发,为了爬取网站数据,提取结构性数据而编写的应用框架,它用途广泛,比如:数据挖掘.监测和自动化测试.安装使用终端命令 pip install Scrapy 即可. Scrapy 比较吸引人的地方是:我们可以根据需求对其进行修改,它提供了多种类型的爬虫基类,如:BaseSpider.sitemap 爬虫等,新版本提供了对 web2.0 爬虫的支持. 1 Scrapy 介绍 1.1 组成 Scrapy Engine(引擎):负责 Spider.ItemP

crapy 去重与 scrapy_redis 去重与 布隆过滤器

目录 scrapy 的去重 scrapy-redis 去重 自定义过滤 布隆过滤器 在开始介绍 scrapy 的去重之前,先想想我们是怎么对 requests 对去重的. requests 只是下载器,本身并没有提供去重功能.所以我们需要自己去做. 很典型的做法是事先定义一个去重队列,判断抓取的 url 是否在其中,如 crawled_urls = set() def check_url(url): if url not in crawled_urls: return True return F

HackerRank(FP) - The Sums of Powers

In Haskell. Two points: 1. pruning 2. Int suffers from overflow. Integer it is. getPowerSum :: Integer -> [Integer] -> Integer -> Integer getPowerSum _ [] _ = 0 getPowerSum tgt cand start = case compare tgt start of EQ -> 1 LT -> 0 GT ->