250得票17回答
在日历应用中建模重复事件的最佳方法是什么?

我正在构建一个团队日历应用程序,需要支持重复事件,但我想到的所有处理这些事件的解决方案都似乎是一种权宜之计。我可以限制用户查看未来多远的事件,并一次性生成所有事件。或者将事件存储为重复事件,在日历上向前查看时动态显示它们,但如果有人想更改特定事件实例的详细信息,则必须将其转换为普通事件。 我...

40得票7回答
当构建一个日历应用时,我应该在数据库中存储日期还是重复规则?

我正在构建一个日历网站(ASP.NET MVC)应用程序(类似于简化版的Outlook),我想开始支持定期发生的日历事件(例如每月、每年等)。 目前,我在我的数据库中存储实际日期,但我想弄清楚,在有重复事件的情况下,是否继续存储日期(超过某些明显的截止日期),或者应该存储重复选项并根据需要生...

34得票6回答
确定代码复杂度

给出一小段代码,你如何确定其一般性的复杂度。我发现自己在大O问题上经常感到很困惑。例如,一个非常简单的问题:for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.prin...

27得票3回答
n log n是O(n)吗?

我正在尝试解决这个递归问题: T(n) = 3 T(n/2) + n lg n .. 我得出的结论是它属于主定理第二种情况,因为n lg n是O(n^2) 但是在参考解决方案后,我注意到他们有以下解决方案: 解决方案表明n lg n = O ( n ^(lg 3 - e)),其中e...

26得票5回答
C++中负数取模问题

我一直在编写一个计算以下递归关系的程序:An = 5An-1 - 2An-2 - An-3 + An-4 输出应为答案模 10^9 + 7 的余数。 我写了一个暴力解法,如下所示...long long int t1=5, t2=9, t3=11, t4=13, sum; while(i--...

20得票2回答
如何为给定的代码编写递归关系式

在我的算法和数据结构课程中,我们被要求解决一些递归关系或者了解算法的复杂度。起初,我认为这些关系的唯一目的是记录递归分治算法的复杂性。后来我在MIT的任务中遇到了一个问题,要求为迭代算法提供递归关系。 如果给定一些代码,我应该如何自己想出递归关系?有哪些必要的步骤? 实际上,我可以用这样的...

18得票3回答
如何计算将一个字符串转换为回文所需的字符数?

最近我找到了一个竞赛问题,它要求计算将字符串转换为回文串所需插入的最少字符数(可以在任何位置插入)。 例如,给定字符串:"abcbd",我们可以通过仅插入两个字符来将其变成回文串:在 "a" 后面插入一个字符,在 "d" 后面插入另一个字符:"adbcbda"。 这似乎是类似的问题的推广,...

16得票2回答
Fowler的时间表达式的关系模式

马丁·福勒(Martin Fowler)在这里定义了一种优雅的对象模型,用于安排重复任务,并且可以很好地映射到OO代码。但是将其映射到关系型数据库模式以进行持久化却很棘手。 有人能否建议一个模式+SQL组合,以封装他描述的所有功能,特别是第11页上的图像。交集和并集相当明显——复杂性在于表示...

15得票3回答
计算递归关系 T(n)=T(n/log n) + Θ(1)。

这个问题来自于《算法导论》第三版P63上的 Introduction to Algorithms,第3-6题,其中被称为迭代函数。我将其改写如下: int T(int n){ for(int count = 0; n > 2 ; ++count) { n = n...

15得票4回答
在一个范围内的整数的二进制补码表示中1的数量

这个问题来自于2011 Codesprint (http://csfall11.interviewstreet.com/): 计算机科学的基础之一是了解数字在二进制补码中的表示方法。假设你使用32位的二进制补码,写下A和B之间(包括A和B)所有的数字,那么你会写下多少个1? 输入: 第一行包...