日付のリストがあります。
互いに6か月以内にあるレコードの最大数を選択できる必要があります。
次に、すべてのレコードが選択されるまで、次に多いレコード数というように続きます。
これがデータです
1 19-Oct-2007
2 03-Dec-2007
3 16-Oct-2009
4 26-Oct-2009
5 30-Oct-2009
6 01-Nov-2009
7 16-Nov-2009
8 30-Nov-2009
9 11-Dec-2009
10 25-Dec-2009
11 01-Jan-2010
12 21-Jan-2010
13 27-Jan-2010
14 28-Jan-2010
15 28-Jan-2010
16 12-Feb-2010
17 12-Feb-2010
18 27-Feb-2010
19 09-Mar-2010
20 22-Mar-2010
21 26-Mar-2010
22 01-Apr-2010
23 22-Oct-2010
24 15-Oct-2011
25 18-Oct-2011
26 26-Oct-2011
27 16-Nov-2011
28 18-Nov-2011
29 19-Nov-2011
30 26-Nov-2011
31 29-Nov-2011
32 29-Nov-2011
33 30-Nov-2011
34 06-Dec-2011
35 16-Dec-2011
36 17-Dec-2011
37 20-Dec-2011
38 28-Dec-2011
39 01-Jan-2012
40 01-Jan-2012
41 09-Jan-2012
42 13-Jan-2012
43 27-Jan-2012
44 01-Feb-2012
45 23-Feb-2012
46 29-Feb-2012
47 01-Mar-2012
48 01-Mar-2012
49 01-Mar-2012
50 02-Mar-2012
51 04-Mar-2012
52 04-Mar-2012
53 05-Mar-2012
54 05-Mar-2012
55 17-Mar-2012
56 23-Mar-2012
57 24-Mar-2012
58 01-Apr-2012
59 03-Apr-2012
60 04-Apr-2012
考えられる解決策の1つは、
- 記録24-60(それらは互いに172日以内にあります)
- レコード23(前/次の日付から6か月以内ではない)
- 記録3-22(それらは互いに167日以内にあります)
- レコッド1-2(お互いに45日以内)
(私は最大の日付から開始し、逆方向に選択しました。これはおそらく最適なソリューションではありません)