相关疑难解决方法(0)

如何判断DOM元素在当前视口中是否可见?

是否有一种有效的方法来判断DOM元素(在HTML文档中)当前是否可见(出现在视口中)?

(关于Firefox的问题)

html javascript browser firefox dom

878
推荐指数
18
解决办法
46万
查看次数

检测重叠周期的算法

我要检测两个时间段是否重叠.
每个期间都有开始日期和结束日期.
我需要检测我的第一个时间段(A)是否与另一个时间段(B/C)重叠.
在我的情况下,如果B的开头等于A的结尾,它们不重叠(反过来)
我发现以下情况:

在此输入图像描述

所以实际上我这样做是这样的:

tStartA < tStartB && tStartB < tEndA //For case 1
OR
tStartA < tEndB && tEndB <= tEndA //For case 2
OR
tStartB < tStartA  && tEndB > tEndA //For case 3
Run Code Online (Sandbox Code Playgroud)

(案例4在案例1或案例2中被记入帐户)

有效,但似乎效率不高.

所以,首先在c#中有一个现有的类可以对此进行建模(一个时间段),类似于时间跨度,但具有固定的开始日期.

其次:是否已经有ac#代码(比如在DateTime类中)可以处理这个问题?

第三:如果不是,那么你最快速地进行这种比较的方法是什么?

.net c# algorithm time datetime

379
推荐指数
6
解决办法
12万
查看次数

确定两个矩形是否相互重叠?

我正在尝试编写一个C++程序,它从用户那里获取以下输入来构造矩形(2到5之间):高度,宽度,x-pos,y-pos.所有这些矩形将平行于x轴和y轴存在,即它们的所有边都将具有0或无穷大的斜率.

我试图实现这个问题中提到的但我没有太多运气.

我目前的实现如下:

// Gets all the vertices for Rectangle 1 and stores them in an array -> arrRect1
// point 1 x: arrRect1[0], point 1 y: arrRect1[1] and so on...
// Gets all the vertices for Rectangle 2 and stores them in an array -> arrRect2

// rotated edge of point a, rect 1
int rot_x, rot_y;
rot_x = -arrRect1[3];
rot_y = arrRect1[2];
// point on rotated edge
int pnt_x, pnt_y;
pnt_x = arrRect1[2]; 
pnt_y = arrRect1[3]; …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm geometry rectangles overlap

320
推荐指数
7
解决办法
24万
查看次数

测试两个重叠整数范围的最有效方法是什么?

给定两个包含整数范围[x1:x2]和[y1:y2],其中x1≤x2和y1≤y2,测试两个范围是否有任何重叠的最有效方法是什么?

一个简单的实现如下:

bool testOverlap(int x1, int x2, int y1, int y2) {
  return (x1 >= y1 && x1 <= y2) ||
         (x2 >= y1 && x2 <= y2) ||
         (y1 >= x1 && y1 <= x2) ||
         (y2 >= x1 && y2 <= x2);
}
Run Code Online (Sandbox Code Playgroud)

但我希望有更有效的方法来计算它.

在最少的操作方面,哪种方法最有效.

comparison performance integer range

223
推荐指数
8
解决办法
8万
查看次数

比较日期范围

在MySQL中,如果我有一个日期范围列表(范围开始和范围结束).例如

10/06/1983 to 14/06/1983
15/07/1983 to 16/07/1983
18/07/1983 to 18/07/1983
Run Code Online (Sandbox Code Playgroud)

我想检查另一个日期范围是否包含列表中已有的任何范围,我该怎么做?

例如

06/06/1983 to 18/06/1983 = IN LIST
10/06/1983 to 11/06/1983 = IN LIST
14/07/1983 to 14/07/1983 = NOT IN LIST
Run Code Online (Sandbox Code Playgroud)

mysql sql date

114
推荐指数
3
解决办法
5万
查看次数

python中有效的日期范围重叠计算?

我有两个日期范围,其中每个范围由开始和结束日期(显然,datetime.date()实例)确定.这两个范围可以重叠或不重叠.我需要重叠的天数.当然,我可以预先填充两个集合,所有日期都在两个范围内,并且执行一个集合交集,但这可能是低效的...除了使用覆盖所有情况的长if-elif部分的另一个解决方案之外,还有更好的方法吗?

python date date-range

74
推荐指数
4
解决办法
3万
查看次数

C++ - 区间树实现

有人知道interval treeC++中的任何好的实现吗?

显然,模板驱动的东西,更好的类似boost风格.

另一个问题 - 如果有人测试过,在std::vector实践中,基于分类的基本区间树实现是否可以击败通用区间树(使用O(lg)操作)

c++ interval-tree data-structures

31
推荐指数
2
解决办法
2万
查看次数

在SQL中查找具有时间间隔重叠的行的简单有效方法是什么?

我有两个表,都有开始时间和结束时间字段.我需要为第一个表中的每一行找到第二个表中时间间隔相交的所有行.

例如:

           <-----row 1 interval------->
<---find this--> <--and this--> <--and this-->
Run Code Online (Sandbox Code Playgroud)

请以SQL- WHEREclause 的形式表达您的答案,并考虑第二个表中的结束时间可能的情况NULL.

目标平台是SQL Server 2005,但其他平台的解决方案也可能是有意义的.

sql

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

而不是SQL Server中的触发器丢失SCOPE_IDENTITY?

我有一个表,我创建了一个INSTEAD OF触发器来强制执行一些业务规则.

问题是,当我将数据插入此表时,SCOPE_IDENTITY()返回一个NULL值,而不是实际插入的标识.

插入+范围代码

INSERT INTO [dbo].[Payment]([DateFrom], [DateTo], [CustomerId], [AdminId])
VALUES ('2009-01-20', '2009-01-31', 6, 1)

SELECT SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)

触发:

CREATE TRIGGER [dbo].[TR_Payments_Insert]
   ON  [dbo].[Payment]
   INSTEAD OF INSERT
AS 
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    IF NOT EXISTS(SELECT 1 FROM dbo.Payment p
              INNER JOIN Inserted i ON p.CustomerId = i.CustomerId
              WHERE (i.DateFrom >= p.DateFrom AND i.DateFrom <= p.DateTo) OR (i.DateTo >= p.DateFrom …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2008 linq-to-sql

22
推荐指数
3
解决办法
2万
查看次数

如何检查时间段与java中的另一个时间段重叠

如何检查时间段与同一天的另一个时间段重叠.

例如,

  1. 上午7:00至上午10:30与上午10:00至11:30重叠
  2. 上午7:00至上午10:30与上午8:00至上午9:00重叠
  3. 上午7:00至上午10:30与上午5:00至上午8:00重叠

java time

15
推荐指数
4
解决办法
3万
查看次数