mirror of
https://github.com/multipleof4/lynchmark.git
synced 2026-01-14 16:47:55 +00:00
Docs: Update benchmark results
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
export async function findConvexHull(a){
|
||||
const _ = (await import('https://cdn.jsdelivr.net/npm/lodash-es@4.17.21/lodash.min.js')).default
|
||||
a = _.uniqWith(a,_.isEqual)
|
||||
a = _.sortBy(a,['x','y'])
|
||||
const c=(o,p,q)=>((p.x-o.x)*(q.y-o.y)-(p.y-o.y)*(q.x-o.x))
|
||||
const b=[]
|
||||
for(const p of a){
|
||||
while(b.length>1 && c(b[b.length-2],b[b.length-1],p)<=0) b.pop()
|
||||
b.push(p)
|
||||
export async function findConvexHull(p){
|
||||
const _=(await import('https://cdn.jsdelivr.net/npm/lodash-es@4.17.21/lodash.min.js')).default
|
||||
p=_.uniqWith(p,_.isEqual)
|
||||
p=_.sortBy(p,['x','y'])
|
||||
const c=(a,b,d)=>(b.x-a.x)*(d.y-a.y)-(b.y-a.y)*(d.x-a.x)
|
||||
const h=[]
|
||||
for(const v of p){
|
||||
while(h.length>1&&c(h[h.length-2],h[h.length-1],v)<=0)h.pop()
|
||||
h.push(v)
|
||||
}
|
||||
const u=[]
|
||||
for(const p of [...a].reverse()){
|
||||
while(u.length>1 && c(u[u.length-2],u[u.length-1],p)<=0) u.pop()
|
||||
u.push(p)
|
||||
for(const v of [...p].reverse()){
|
||||
while(u.length>1&&c(u[u.length-2],u[u.length-1],v)<=0)u.pop()
|
||||
u.push(v)
|
||||
}
|
||||
h.pop()
|
||||
u.pop()
|
||||
b.pop()
|
||||
return [...b,...u]
|
||||
return [...h,...u]
|
||||
}
|
||||
export default findConvexHull;
|
||||
Reference in New Issue
Block a user