gpt4 book ai didi

sorting - 如何在两个坐标上对图像大小进行排序?

转载 作者:行者123 更新时间:2023-11-30 23:54:38 25 4
gpt4 key购买 nike

我有一个 XxX 形式的字符串列表,其中 X 是最多 4 位数字的数字(它们是以(像素)x(像素)为单位的图像大小)。

例如:

["192x192","64x84","96x96","64x64","292x192","32x32","64x12"]

使用函数 mySort,它只是插入排序,只查看 x 以内的数字:

mysort []  = []
mysort [x] = [x]
mysort (x:xs) = insert (mysort xs)
where insert [] = [x]
insert (y:ys) | takeUntilX x <= takeUntilX y = x : y : ys
| otherwise = y : insert ys

我明白了:

["192x192","292x192","32x32","64x84","64x64","64x12","96x96"]

这只是部分排序,所有排序的“64x**”都保持原始顺序,但我希望它们也被排序,所以我得到这个:

["192x192","292x192","32x32","64x12","64x64","64x84","96x96"]

什么是更好的解决方案 - 修改函数 mySort 或编写一个新函数来对部分排序的列表进行排序?你能告诉我我该怎么做的基本思路吗?

最佳答案

import Data.List
import Data.List.Split

res = map (intercalate "x") . sort . map (splitOn "x")

我正在使用 http://hackage.haskell.org/package/split 中的 Data.List.Split

关于sorting - 如何在两个坐标上对图像大小进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4336404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com