我正在尝试编写一个对数字网格执行操作的应用程序,每次函数运行时,每个单元格的值都会发生变化,每个单元格的值依赖于它的邻居.每个单元格的值将是一个简单的整数.
在这里存储我的数据的最佳方法是什么?我已经考虑了平面列表/数组结构,但这似乎无效,因为我必须重复进行计算以确定哪个单元格在当前单元格之上(当有任意网格大小时)和嵌套列表,这不是似乎是表示数据的一种非常好的方式.
我不禁觉得必须有更好的方法在内存中表示这些数据以达到这种目的.有任何想法吗?
(注意,我不认为这确实是一个主观问题 - 但堆栈溢出似乎认为它是..我希望有一种可以接受的方式存储这种数据)
我有一些代码:
int CalculateAckermann(int x, int y)
{
if(!x)
{
return y++;
}
if(!y)
{
return CalculateAckermann(x--,1);
}
else
{
return CalculateAckermann(x--, CalculateAckermann(x, y--));
}
}
Run Code Online (Sandbox Code Playgroud)
旨在计算ackermann函数.在相当低的x和y数量之上,应用程序会导致堆栈溢出,因为它会过度递归并导致相当大的数字.我如何慢慢计算解决方案?
我已经进行了搜索,但是我找不到最近杂乱绑定的正确在线教程.有大约0.4和0.6的指南,但0.8应该是非常不同的,使这些指南有点无用.链接或示例非常感谢!
我正在使用此代码:
{-# LANGUAGE OverloadedStrings #-}
import Data.Aeson
import Data.Maybe
import Data.ByteString.Lazy
import Control.Applicative
import Debug.Trace
import Control.Monad
import qualified Data.Aeson.Types as T
main = do
res <- liftA show (liftA decodeOriginal (Data.ByteString.Lazy.readFile "./a.json"))
Prelude.putStrLn res
interpretResult :: Maybe String -> String
interpretResult Nothing = "Error."
interpretResult x = fromJust x
data TotalLine1 = TotalLine1 {
timestamp :: Integer,
value :: Integer
} deriving (Eq, Show)
data Original = Original {
totals :: [TotalLine1]
} deriving (Eq, Show)
instance FromJSON Original …Run Code Online (Sandbox Code Playgroud) 我有一个问题:
from m in dc.ReportingMonths
where m.Month.Value == month
select (from k in m.KPI_Actives
where k.DateActive.Year == year
select (from r in dc.ReportingViews
where r.KPIID == k.KPIID select r)
);
Run Code Online (Sandbox Code Playgroud)
显然,因为它是嵌套的LINQ查询 - 每个返回一个IQueryable,我得到一组IQueryables作为结果.
我如何编写一个类似的查询,而不只是返回一个ReportingViews的单个平面列表(如最后一个查询返回)而不使用foreach循环来创建新列表?
谢谢!
aeson ×1
binding ×1
c# ×1
c++ ×1
clutter-gui ×1
haskell ×1
linq ×1
linq-to-sql ×1
math ×1
python ×1