自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Go concurrent crawler

下面是a tour of go 中最后一个练习的解法,本文使用了真正的网络io来运行爬虫,由于没有对连接数做限制,所以当depth为3时会发生错误package mainimport ( "fmt" "log" "strings" "sync" "github.com/PuerkitoBio/goquery")type Fetcher interface {

2017-12-29 20:19:18 338

原创 rot13Reader

package mainimport ( "io" "os" "strings")type rot13Reader struct { r io.Reader}func (rot rot13Reader) Read(b []byte) (n int, err error){ left:=len(b) for{ length,stat

2017-12-27 18:23:57 285

原创 397. Longest Increasing Continuous Subsequence

class Solution: """ @param: A: An array of Integer @return: an integer """ def longestIncreasingContinuousSubsequence(self, A): # write your code here if len(A)==0:

2017-12-24 12:12:31 202

原创 115. Unique Paths II

class Solution: """ @param: obstacleGrid: A list of lists of integers @return: An integer """ def uniquePathsWithObstacles(self, obstacleGrid): # write your code here

2017-12-24 12:04:53 176

原创 114. Unique Paths

class Solution: """ @param: m: positive integer (1 <= m <= 100) @param: n: positive integer (1 <= n <= 100) @return: An integer """ def uniquePaths(self, m, n): # write

2017-12-24 11:55:24 180

原创 111. Climbing Stairs

class Solution: """ @param n: An integer @return: An integer """ def climbStairs(self, n): # write your code here if n==0: return 0 if n==1:

2017-12-24 11:46:53 148

原创 110.Minimum Path Sum

class Solution: """ @param: grid: a list of lists of integers @return: An integer, minimizes the sum of all numbers along its path """ def minPathSum(self, grid): # write yo

2017-12-24 11:41:41 147

原创 109.triangle

class Solution: """ @param: triangle: a list of lists of integers @return: An integer, minimum path sum """ def minimumTotal(self, triangle): # write your code here

2017-12-24 11:31:50 170

原创 514. Paint Fence

class Solution {public: /* * @param n: non-negative integer, n posts * @param k: non-negative integer, k colors * @return: an integer, the total number of ways */ int numWa

2017-12-24 11:16:09 151

原创 kmp算法

#define MAX 10000void getNext(char *p,int next[]){ int p_len=strlen(p); next[0]=-1; next[1]=0; for (int i=2;i<p_len;i++){ int q=next[i-1]; while (q!=0 && p[q]!=p[i-1])

2017-12-23 00:20:48 134

原创 最长递增子序列(nlogn)

#define MAX 1000000int find(int a[],int x,int l,int r){ while (l<=r){ int mid=(l+r)/2; if (a[mid]==x) return mid; if (a[mid]<x) l=mid+1; els

2017-12-22 19:30:05 808

原创 排序算法大合集

#include<stdlib.h>#include<unistd.h>#include<stdio.h>#include<unistd.h>#include<sys/wait.h>#include<time.h>#define MAX 10000int check(int a[],int n){ for (int i=0;i<n-1;i++) if (a[i]>

2017-12-22 14:58:20 164

原创 4.1.3求值器数据结构

;4.12,这里的用了一个通用的在框架中寻找变量的过程,不过这个过程不能用在4.13中的make-unbound!里(define (lookup-var-in-frame var vars vals) (cond ((null? vars) false) ((eq? var (car vars)) (cons vars vals)) (else (lookup

2016-07-16 11:46:04 332

原创 4.1.2表达式的表示

表达式的表示

2016-07-10 21:15:29 302

原创 函数式程序的模块化和对象的模块化

(define random-init 1)(define (rand-update x) (remainder (+ (* 13 x) 5) 24))(define (random-numbers op-stream) (define (numbers last-value op-stream) (let ((op (stream-car op-stream)))

2016-06-20 11:51:23 899

原创 流和延时求值

;书上的let并不是必须的(define (integral delayed-integrand initial-value dt) (define int (cons-stream initial-value (add-streams (scale-stream (force delaye

2016-06-18 07:33:06 409

原创 序对的无穷流

(define (interleave s1 s2) (if (empty-stream? s1) s2 (cons-stream (stream-car s1) (interleave s2 (stream-cdr s1)))))(define (pairs s t) (cons-stream (list (stream-ca

2016-06-08 12:55:58 362

原创 流计算模式的使用

;系统地将迭代操作方式表示为流过程(define (sqrt-stream x) (define guesses (cons-stream 1.0 (stream-map (lambda (guess) (/ (+ guess (/ x guess)) 2)) guesses)))

2016-06-05 15:39:24 1025

原创 流(3.5.1~3.5.2)

;流实现的行为方式;delay和force的实现(define (memo-proc proc) (let ((already-run? false) (result false)) (lambda () (if already-run? result (begin (set! already-run? tr

2016-06-05 11:25:42 340

原创 约束的传播

;连接器的表示;user不需要也不能添加进constraints表里面,并且只有实现connect过的constraint才能进行set-value!(define (make-connector) (let ((value false) (informant false) (constraints '())) (define (set-my-value! new-value set

2016-05-30 00:16:08 968

原创 数字电路的模拟

;基本功能块;延时:(define inverter-delay 2)(define and-gate-delay 3)(define or-gate-delay 5);inverter(define (inverter input output) (define (invert-input) (let ((new-value (logical-not (get-signal

2016-05-29 15:10:14 430

原创 表格的表示

;一维表格(define (make-table) (list '*table*))(define (assoc key records) (cond ((null? records) #f) ((equal? (caar records) key) (car records)) (else (assoc key (cdr records)))))(de

2016-05-28 12:28:46 325

原创 队列的表示

(define (make-queue) (cons '() '()))(define (front-ptr queue) (car queue))(define (rear-ptr queue) (cdr queue))(define (empty-queue? queue) (null? (front-ptr queue)))(define (set-front-ptr!

2016-05-25 13:42:40 318

原创 共享和相等

参考这里;3.16(define (count-pairs x) (if (not (pair? x)) 0 (+ (count-pairs (car x)) (count-pairs (cdr x)) 1)));;4个(define x '(a b))(define y (cons (cdr x) x))(count-pai

2016-05-25 10:07:58 295

原创 几个withdraw程序的对比

;balance在全局环境里,没什么好说的(define balance 100)(define (withdraw amount) (if (>= balance amount) (begin (set! balance (- balance amount)) balance) "insufficent funds"));求值new-wi

2016-05-20 14:06:24 2055

原创 huffman编码树

;leaf(define (make-leaf symbol weight) (list 'leaf symbol weight))(define (symbol-leaf leaf) (cadr leaf))(define (weight-leaf leaf) (caddr leaf))(define (leaf? obj) (eq? 'leaf (car obj)));

2016-05-18 16:09:38 410

原创 集合作为排序的表

(define (element-of-set? x set) (cond ((or (null? set) (> (car set) x)) #f) ((= x (car set)) #t) (else (element-of-set? x (cdr set)))))(define (intersaction-set set1 set2) (cond ((

2016-05-17 16:04:39 313

原创 图形操作

这一章通过实现图形语言的过程体现了程序的层次性(define device (make-graphics-device (car (enumerate-graphics-types))))(define (draw-line start end) (graphics-draw-line device (xcor-vect start) (y

2016-05-15 23:59:39 434

原创 图形语言

mit-scheme里没有直接提供wave和rogers这两个过程,但是DrRacket提供einstein,只需加上开头两行就可使用#lang racket(require (planet "sicp.ss"("soegaard""sicp.plt" 2 1)))(define wave einstein)(define wave2 (beside wave (flip-vert wav

2016-05-15 23:57:08 869

原创 嵌套映射

本小节代码需要和”序列操作”那节的代码在一起运行;嵌套映射(define (make-pairs1 n) (define (i-iter i ans) (define (j-iter j ansi) (if (= j 0) ansi (j-iter (- j 1) (cons (list i j) ansi)))) (if (

2016-05-15 14:41:15 456

原创 bufbomb-缓冲区溢出实验

实验目的本实验的目的在于加深对IA-32函数调用规则和栈结构的具体理解。实验的主要内容是对一个可执行程序”bufbomb”实施一系列缓冲区溢出攻击(buffer overflow attacks),也就是设法通过造成缓冲区溢出来改变该可执行程序的运行内存映像,例如将给定的字节序列插入到其本不应出现的内存位置。 实验中你需要对目标可执行程序BUFBOMB分别完成5个难度递增的缓冲区溢出攻击。5个难度

2016-05-15 01:18:54 4399

原创 cons的定义

这又是一个让我感到很惊讶的thing,让我们理清一下思路: 现在我们是要实现cons,car以及cdr,使得(car (cons x y))=x,(cdr (cons x y))=y,cons由我们自己定义,它的值要么是数,要么是函数,一般情况下,用数将两个量结合还能区分开来是比较困难的,那么cons应该返回一个函数,这个函数要能根据接受的参数返回x或y,这个参数可以是同一个函数的不同参数,也可以

2016-05-15 00:53:11 5005

原创 church计数

正如书中写的一样(“还不足以令人如雷灌顶是吧?!!”),看到完全没有数实现加一和0的定义,着实吓了一跳。 当然了,既然你不走寻常路,那我也不能在一棵树上吊死,你说不用数字,那至少得体现数的概念吧?多少个苹果是数,函数迭代多少次也是数(哈哈,其实是从书上的代码看出点端倪,然后顺藤摸瓜推出来的)。 嗯哼,揭晓答案:这里的数n对应的是f迭代n次,如果n是0,n对应的就是自变量。(define zero

2016-05-15 00:38:35 1249

原创 序列操作

看完这一节,感觉世界观又被重塑。 首先说说这一小节的标题”序列作为一种约定的界面”是什么意思:这句话意思是序列作为程序不同模块间数据流动的形式。 学习lisp语言不久,lisp就给了我很多惊喜,我特地新建了一个文件夹叫astonishing来放代码☺ 下面是这一节我的代码:(define nil (list));(define (enumerate-tree-leaves t) (co

2016-05-15 00:25:33 451

原创 层次性结构

(define (append a b) (if (null? a) b (cons (car a) (append (cdr a) (cons (car a) b)))))(define nil (list))(define (count-leaves x) (cond ((null? x) 0) ((not (pair? x)) 1)

2016-05-08 23:27:33 2688

原创 emacs配置

最近在学sicp,试了DrRacket虽然有一些功能非常有吸引力(比如方便的调试功能,代码结构的分析),但是为了更好的编辑还是选择了emacs(传说中神一样的编辑器),于是折腾了好几天emacs,总算摸到了一点一点风。。。 先推荐一些资源吧 一年成为Emacs高手(像神一样使用编辑器)(写得慷慨激昂) Scheme编程环境的配置(从这里对elisp编程略知一二) 我直接用了purcell的

2016-05-02 10:01:09 543

原创 二进制炸弹(第二次实验)

实验目的本实验通过要求你使用课程所学知识拆除一个“binary bombs”来增强对程序的机器级表示、汇编语言、调试器和逆向工程等方面原理与技能的掌握。 一个“binary bombs”(二进制炸弹,下文将简称为炸弹)是一个Linux可执行程序,包含了6个阶段(或层次、关卡)。炸弹运行的每个阶段要求你输入一个特定字符串,你的输入符合程序预期的输入,该阶段的炸弹就被拆除引信即解除了,否则炸弹“爆炸”

2016-04-25 12:34:10 19956 1

原创 功能异常简单的贪吃蛇(队列实现)

#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#define u 0#define r 1#define l 2#define d 3#define fail 0#define success 1#define maxsize 100int Size=0;int difficulty

2016-04-22 12:22:08 1245

原创 B树相关操作

花了一个下午把书上的B树操作看明白了,又花了一天把代码憋出来…主要是操作比较复杂,需要注意的细节太多…至于删除操作,书上已经详细说明了过程…累啊 有一个不确定的地方是,不清楚如果重复数据有或者比较多的情况会怎么样输入样例21F S Q K C L H T V W M R N P A B X Y D Z E 2M T#include<stdio.h>#include<stdlib.h>#

2016-04-20 12:25:23 400

原创 p549扩展欧几里得

#include<stdio.h>int euclid(int a,int b,int *x,int *y){ if (b==0) { *x=1; *y=0; return a; } else { int d; d=euclid(b,a%b,x,y); int

2016-04-16 15:05:52 311

day1_NOIP基础算法--枚举、递推和递归.ppt

NOIP基础算法--枚举、递推和递归 很有用的哦,看看有好处的

2013-04-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除