博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区域的个数(坐标离散化)
阅读量:5884 次
发布时间:2019-06-19

本文共 1245 字,大约阅读时间需要 4 分钟。

始终认为秋叶拓哉书上那段代码,没有起到离散化的作用啊?预计是我智障吧。

。肯定是。

compress 后的 X。Y 坐标绘制的 field 和原来的地图一样啊。

究竟为森么呢?究竟为森么呢?

import pprintdef compress( li1, li2, size, nums ):    vec  = []    vec1 = []        for i in xrange( nums ):        for d in xrange( -1, 2 ):            temp1, temp2 = li1[i] + d, li2[i] + d            if 1 <= temp1 <= size:                vec.append( temp1 )            if 1 <= temp2 <= size:                vec.append( temp2 )    vec.sort()        for v in vec:        if len( vec1 ) == 0:            vec1.append( v )        else:            if vec1[-1] != v:                vec1.append( v )    li1[:] = map( lambda x: vec1.index( x ), li1 )    li2[:] = map( lambda x: vec1.index( x ), li2 )    return len( vec1 )X1 = [1, 1,  4,  9, 10]X2 = [6, 10, 4,  9, 10]Y1 = [4, 8,  1,  1, 6]Y2 = [4, 8,  10, 5, 10]W = H = 10N = 5field = [ [ 0 for w in xrange( W ) ] for h in xrange( H ) ]compress( X1, X2, W, N )compress( Y1, Y2, H, N )pprint.pprint( zip( zip( X1, Y1 ), zip( X2, Y2 ) ) )for i in xrange( N ):    for y in xrange( Y1[i], Y2[i] + 1 ):        for x in xrange( X1[i], X2[i] + 1 ):            field[y][x] = 1for i in xrange( W ):    for j in xrange( H ):        print field[i][j],    print

转载于:https://www.cnblogs.com/clnchanpin/p/7281521.html

你可能感兴趣的文章
C语言标准库函数qsort那点小事
查看>>
HL7 CDA高级培训
查看>>
Android 调用照相机拍照
查看>>
linux的C获取shell执行返回的结果
查看>>
Shell读取文件内容
查看>>
面对我们喜欢的和我们需要的,应该何去何从?
查看>>
list集合绑定在datagridview上时如何实现排序
查看>>
Codeforces Round #346 (Div. 2) G. Fence Divercity dp
查看>>
python random
查看>>
TortoiseGit学习系列之TortoiseGit基本操作将提交到本地的项目推送到在线仓库(图文详解)...
查看>>
关于spring mybateis 定义resultType="java.util.HashMap"
查看>>
『TensorFlow』读书笔记_Inception_V3_上
查看>>
python爬虫从入门到放弃(四)之 Requests库的基本使用(转)
查看>>
程序员怎么留住健康?
查看>>
【ANT】ant使用
查看>>
Go基础系列:Go接口
查看>>
miniprogrampatch 提供 watch 和 computed 特性
查看>>
java按照关键字指定的key删除redis(支持模糊删除)
查看>>
information_schema系列四(跟踪,列约束,表和列)
查看>>
TreapDB is a key-value store based on Treap
查看>>