假设我们有两个矩形,用左下角和右上角定义.例如:rect1(x1,y1)(x2,y2)和 rect2(x3,y3)(x4,y4).我正在尝试找到相交矩形的坐标(左下角和右上角).
任何想法,算法,伪代码,将不胜感激.
ps我发现了类似的问题,但只检查了2个矩形是否相交.
我是Scheme的新手,发现如果我用set-car更改列表!/ set-cdr!(甚至在本地)父类列表也被修改.这就是我的意思:
(define my-list '(1 2 3 4 5)) ; Original list
(define (function list) ; Some example function
(let ((copy list))
(set-car! copy 'new)
(display copy)
)
(function my-list); will display (new 2 3 4 5)
my-list; but the original is changed "forever" and will be also '(new 2 3 4 5)
Run Code Online (Sandbox Code Playgroud)
我的问题是:
有没有办法制作原始列表的副本,只能在它上面工作,所以最后原来不能改变?
几天我试图使div像图像一样大小(按比例).
例如,如果我有一个尺寸为500x140的div,我希望它在浏览器重新调整大小时作出反应,就像一个宽度为"100%"的图像.我发现了类似的问题,但它们对我不起作用.
有没有办法做到这一点(不使用虚拟图像)?
编辑:

ps抱歉我的英语不好.
我是 Scheme 编程的新手,并试图在 if 条件中定义一个 var。例如,我有:
(if (< x y) (define x y) ) ;(GOAL: if x < y, than x=y..)
Run Code Online (Sandbox Code Playgroud)
但我得到了错误:
let: bad syntax (not an identifier and expression for a binding) in:...
Run Code Online (Sandbox Code Playgroud)
任何想法如何解决这个问题,将不胜感激。
ps对不起我的英语
我有一个奇怪的问题,几个小时无法在Scheme中实现.假设我们有:
(define x '( (Orlando (NY 3))
(Chicago (Montana 5) (Orlando 8))
...and so on ...
)
Run Code Online (Sandbox Code Playgroud)
我想把它改造成
'( (Orlando NY)
(Chicago Montana Orlando)
...and so on ...
)
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
好的,我正在努力学习哈斯克尔.有几次我发布了被投票的问题,因为我无法解释我想要实现的目标,但我将再次尝试一个新问题.
我找到了一段我想要修改的代码.这里是:
import qualified Data.Map as M
type Dict = M.Map String String
translate :: Dict -> [String] -> [String]
translate dict words = map trans words
where
trans :: String -> String
trans w =
case M.lookup w dict of
(Just w') -> w'
Nothing -> "whatchamacallit"
testTranslation :: Dict -> IO ()
testTranslation dict = do
print $ translate dict ["where", "is", "the", "colosseum"]
testInsertion :: Dict -> IO Dict
testInsertion dict = do
return $ M.insert "colosseum" …Run Code Online (Sandbox Code Playgroud)