在Js代码中,如果有两个js对象(一个处理UI(例如一个表单)和另一个向服务器发送请求.
使用自定义事件或正常函数调用在这些组件之间进行交互的更好方法是什么.
例如.
clickForm = function(){
validateForm();
$(document).trigger("submitForm",{"userData":userData});//Event submitForm listened by formManager submitForm method.
}
Run Code Online (Sandbox Code Playgroud)
要么
clickForm = function(){
validateForm();
formManager.submitForm(userData);
}
Run Code Online (Sandbox Code Playgroud)
clickForm方法是UI组件的一部分,它负责管理HTML代码的UI交互.此功能通常在单击提交按钮时调用.
submitForm方法是核心Object的一部分,其职责是向服务器发出请求,解析响应,然后将结果发送到UI组件.
这两种方法中的哪一种是更好的互动方式.任何建议?
给定一个列表矩形[R1,R2,R3],这些矩形由它们的左下角和右上角[(x1, y1), (x2, y2)]坐标以及值k定义。
有没有一种最佳方法来找到k个矩形重叠的区域?
例如:
R1: [(1, 1), (5, 5)]
R2: [(4, 4), (7, 6)]
R3: [(3, 3), (8, 7)]
rectangles = [R1, R2, R3]
k = 2
Run Code Online (Sandbox Code Playgroud)
被两个矩形重叠的区域是8。
解决此问题的蛮力方法是计算x轴和y轴坐标的最小值和最大值,然后使用它创建一个网格并为矩形内的每个单元格增加一个。最后,在网格上迭代以计算值为k的像元数量以找到解。
该方法的复杂度为O(n^3),假设每个矩形的大小n x n和n个矩形的大小。
是否有运行时最佳方法来解决此问题?