标签: sequences

F#:我如何将序列分成序列序列

背景:

我有一系列连续的,带时间戳的数据.数据序列中存在间隙,其中数据不连续.我想创建一种方法将序列分成序列序列,以便每个子序列包含连续数据(在间隙处分割输入序列).

约束:

  • 返回值必须是序列序列,以确保元素仅在需要时生成(不能使用列表/数组/缓存)
  • 解决方案不能是O(n ^ 2),可能排除Seq.take - Seq.skip模式(参见Brian的帖子)
  • 功能惯用方法的奖励点(因为我希望在功能编程方面更加精通),但这不是必需的.

方法签名

let groupContiguousDataPoints (timeBetweenContiguousDataPoints : TimeSpan) (dataPointsWithHoles : seq<DateTime * float>) : (seq<seq< DateTime * float >>)= ... 
Run Code Online (Sandbox Code Playgroud)

从表面上看,问题看起来微不足道,但即使采用Seq.pairwise,IEnumerator <_>,序列理解和屈服声明,解决方案也让我望而却步.我确信这是因为我仍然缺乏组合F#-idioms的经验,或者可能是因为我还没有接触过一些语言结构.

// Test data
let numbers = {1.0..1000.0}
let baseTime = DateTime.Now
let contiguousTimeStamps = seq { for n in numbers ->baseTime.AddMinutes(n)}

let dataWithOccationalHoles = Seq.zip contiguousTimeStamps numbers |> Seq.filter (fun (dateTime, num) -> num % 77.0 <> 0.0) // Has a gap in the data every …
Run Code Online (Sandbox Code Playgroud)

f# sequences

10
推荐指数
1
解决办法
2889
查看次数

@Id在父类和基类中的唯一序列中的正确JPA映射是什么

我有一个类层次结构:

abstract DomainObject {
...
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ")
    @SequenceGenerator(name="SEQ",sequenceName="SEQ_DB_NAME")
    @Column(name = "id", updatable = false, nullable = false)
    private Long id;
...
}

BaseClass extends DomainObject {
...
   // Fill in blank here where this class's @Id will use a unique sequence generator
   // bonus points for any sort of automatic assignment of generator names that might 
   //prevent me from having to instrument all my domain objects uniquely
...
}
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 我没有特别需要一个基类生成器,所以如果我有理由删除它没有问题.
  • 如果适用,这是一个oracle 9i db
  • Hibernate 3.4 JPA …

java hibernate jpa sequences

9
推荐指数
1
解决办法
4993
查看次数

在F#中调用Seq.skip和Seq.take

let aBunch = 1000
let offset = 0

let getIt offset =
  MyIEnumerable
  |> Seq.skip aBunch * offset
  |> Seq.take aBunch
  |> Seq.iter ( .. some processing ...)

使用不同的偏移量调用getIt()最终会给我一个"无效操作"异常,其中包含"输入序列元素不足"的附加信息

我尝试理解为什么,因为Seq.Skip和Seq.take都没有根据在线文档FSharp Collections生成异常

版本:(Visual Studio 2010)Beta 1

f# sequences

9
推荐指数
2
解决办法
1888
查看次数

Oracle:我需要在序列上授予哪些权限?

我的数据库中有一个新序列.

我需要向Web用户授予哪些权限才能使用序列?我尝试在序列上授予选择权,但网络用户似乎仍然无法看到它.

security oracle sequences

9
推荐指数
1
解决办法
3万
查看次数

子序列的概率计算和算法

这是一种游戏,其中卡1-50被分发给两个玩家,每个玩家具有10个随机顺序的卡.目标是对所有卡片进行排序,并且首先执行该卡片的人是赢家.每次一个人都可以从卡座上取卡,他必须更换现有的卡.玩家不能交换他的牌.也就是说只有他可以用卡片从卡片上取代他的卡片.丢弃的卡片将以随机顺序返回卡片.现在我需要编写一个有效地执行此操作的程序.

我已经考虑过以下解决方案1)找到在给定的一组卡中按升序排列的所有子序列2)对于每个子序列,基于可以解决问题的方式的概率来计算权重.例如:如果我有一个子序列48,49,50在索引2,3,4完成问题的概率是这个子序列是0.所以权重乘以0.类似地,如果我在索引3,4,5处有序列18,20,30,则完成游戏的可能方式中没有可能的卡可选择用于6-10和17种可能的卡以选择前2个位置,3)从卡片组中的每张卡片,我将扫描列表并重新计算子卡片的重量以找到更合适的卡片.

好吧,这个解决方案可能有很多缺陷,但我想知道1)给定一个子序列,如何找到完成游戏的可能方式的可能性?2)找到所有子序列的最佳算法是什么?

sorting algorithm sequences probability

9
推荐指数
1
解决办法
498
查看次数

使用标准模式在R中生成数字序列

我正在开展一个项目,我需要在R中输入一些"T得分"表.这些表用于将原始测试分数转换为标准值.它们通常遵循特定的模式,但不是简单的模式.例如,一种模式是:

34,36,39,42,44,47,50,52,55,58,60,63,66,68,
71,74,76,79,82,84,87,90,92,95,98,100,103,106
Run Code Online (Sandbox Code Playgroud)

我宁愿使用一个简单的函数来填充它们,而不是手工输入它们.我知道seq()函数可以创建一个简单的seqeuence,如:

R> seq(1,10,2)
[1] 1 3 5 7 9
Run Code Online (Sandbox Code Playgroud)

有没有办法根据特定模式创建更复杂的序列?例如,上述数据可以如下:

c(34,seq(36:106,c(3,3,2)) # The pattern goes 36,39,42,44,47,50,52 (+3,+3,+2)
Run Code Online (Sandbox Code Playgroud)

...但是,这会导致错误.我以为会有一个功能应该这样做,但我所有的Google-fu刚刚把我带回原来的seq().

sequences r

9
推荐指数
2
解决办法
2886
查看次数

SQL Server 2012序列

我创建一个表和序列,以便替换我使用SQL Server 2012 Express的表中的标识,但是当我尝试将数据插入表时,我收到此错误

消息11719,级别15,状态1,行2
NEXT VALUE FOR函数不允许在检查约束,默认对象,计算列,视图,用户定义函数,用户定义聚合,用户定义表类型,子查询,公用表表达式或派生表.

T-SQL代码:

insert into Job_Update_Log(log_id, update_reason, jobid) 
values((select next value for Job_Log_Update_SEQ),'grammer fixing',39);
Run Code Online (Sandbox Code Playgroud)

这是我的表:

create table Job_Update_Log
(
   log_id int primary key  ,
   update_reason nvarchar(100) ,
   update_date date default getdate(),
   jobid bigint not null,
   foreign key(jobid) references jobslist(jobid)
);
Run Code Online (Sandbox Code Playgroud)

这是我的顺序:

CREATE SEQUENCE [dbo].[Job_Log_Update_SEQ] 
 AS [int]
 START WITH 1
 INCREMENT BY 1
 NO CACHE 
GO
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sequences sql-server-2012-express

9
推荐指数
2
解决办法
6064
查看次数

给定BST及其根,打印产生相同bst的所有节点序列

给定BST,找到从root开始的所有节点序列,它们基本上会给出相同的二叉搜索树.

比如,给出一个bst

  3
 /  \
1    5
Run Code Online (Sandbox Code Playgroud)

答案应该是3,1,5和3,5,1.

另一个例子

       5
     /   \
    4     7
   /     / \
  1     6   10
Run Code Online (Sandbox Code Playgroud)

产出将是

5,4,1,7,6,10

5,4,7,6,10,1

5,7,6,10,4,1

等等

然而,这里的不变量是父母的索引必须始终小于其子项.我很难实现它.

sequences permutation binary-search-tree

9
推荐指数
2
解决办法
7290
查看次数

填充序列的习语

要填充具有某些值的序列,这就是我想出的:

(defn pad [n coll val]
  (take n (concat coll (repeat val))))

(pad 10 [1 2 3] nil)   ; (1 2 3 nil nil nil nil nil nil nil)
Run Code Online (Sandbox Code Playgroud)

我很好奇是否有一个较短的成语,已经这样做,也许更有效率.

sequences clojure

9
推荐指数
1
解决办法
1540
查看次数

找到由0,2,4,6,8形成的递增序列中的第n个数字?

我们有一个递增的序列,其中每个元素仅由偶数位组成(0,2,4,6,8).我们怎么样find the nth number in this sequence

是否有可能在O(1)时间内找到此序列中的第n个数字.

序列: 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, 40, 42, 44, 46, 48, 60, 62, 64, 66, 68, 80, 82, 84, 86, 88, 200, 202 and so on.

algorithm sequences sequence

8
推荐指数
1
解决办法
1181
查看次数