1.创建公告时有生效的时间段:开始时间和过期时间;
2.当创建新的公告时,要保证同一时间点不能存在三个同时生效的公告
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
新しい作品を作成するたびに、まず現在作成されているセットと重複するセットを見つけてから、重複するセットのペアがあるかどうかを確認する必要があります。存在する場合、そのセットは作成されません。これにより、セットが同じセット内に作成されることがなくなります。
SQL を書くだけで完了です:
結果が 3 未満の場合は、作成します。
挿入するときは、テーブルを走査し、現在のタイムスタンプが 2 つのタイムスタンプの間にあるかどうかを判断し、この条件を満たす数値を記録します。 >= 3 の場合、挿入は実行されません。それ以外の場合は、データテーブルに挿入します。
2 つのタイム ポイントを使用して、この期間内に効果的な発表が何件あるかを数えてください。 アイテムは 3 つ以上作成できません。
新しい発表と重なる時間を常に見つけて、毎日統計を作成する愚かな方法
書いてみましたので参考にしてください
古典的な線分範囲の問題。 Java については詳しくないので、O(n) のアイデアを教えます。
まず、検証する間隔と交差するすべての間隔を見つけます。間隔の左の端点で小さいものから大きいものに並べ替えます
最初の間隔を CurrentInternal として記憶します
CurrentInternal の場合、次の項目 NextInterval を調べます。CurrentInternal と交差しない場合は、CurrentInternal として記録し、2 にジャンプします。そうでない場合は、交差間隔を Intersection として記録します。
Intersection の場合、NextInterval の後の項目をトラバースします。Intersection と交差する間隔がない場合は、NextInterval を CurrentInterval として記録し、2 にジャンプします。そうでない場合は、交差する間隔が 3 つあることを意味し、終了します。
リスト全体が走査された場合、検証される間隔が正当であることが証明されます。
https://jsfiddle.net/hsfzxjy/7td0rwr2/28/
新しい作品を作成するたびに、まず現在作成されているセットと重複するセットを見つけてから、重複するセットのペアがあるかどうかを確認する必要があります。存在する場合、そのセットは作成されません。これにより、セットが同じセット内に作成されることがなくなります。
の時点で 3 つのアナウンスがあります。SQL を書くだけで完了です:
リーリー結果が 3 未満の場合は、作成します。
挿入するときは、テーブルを走査し、現在のタイムスタンプが 2 つのタイムスタンプの間にあるかどうかを判断し、この条件を満たす数値を記録します。 >= 3 の場合、挿入は実行されません。それ以外の場合は、データテーブルに挿入します。
2 つのタイム ポイントを使用して、この期間内に効果的な発表が何件あるかを数えてください。
アイテムは 3 つ以上作成できません。
新しい発表と重なる時間を常に見つけて、毎日統計を作成する愚かな方法
書いてみましたので参考にしてください
リーリー古典的な線分範囲の問題。 Java については詳しくないので、O(n) のアイデアを教えます。
まず、検証する間隔と交差するすべての間隔を見つけます。間隔の左の端点で小さいものから大きいものに並べ替えます
最初の間隔を CurrentInternal として記憶します
CurrentInternal の場合、次の項目 NextInterval を調べます。CurrentInternal と交差しない場合は、CurrentInternal として記録し、2 にジャンプします。そうでない場合は、交差間隔を Intersection として記録します。
Intersection の場合、NextInterval の後の項目をトラバースします。Intersection と交差する間隔がない場合は、NextInterval を CurrentInterval として記録し、2 にジャンプします。そうでない場合は、交差する間隔が 3 つあることを意味し、終了します。
リスト全体が走査された場合、検証される間隔が正当であることが証明されます。
JS で書かれたデモが付属しています。楽しんでいただければ幸いです
https://jsfiddle.net/hsfzxjy/7td0rwr2/28/