社区
J2ME
帖子详情
一条线,由若干个节点连接而成,List对象数组,每节点的坐标已知,每相邻两个节点都是直线连接。现有一点,坐标已知,怎么求出这个点最靠近哪条线段
+N一米阳光
2015-07-14 02:42:45
一条线(弯弯曲曲不规则),由若干个节点连接而成,List对象数组,每节点的坐标已知,每相邻两个节点都是直线连接。现有一点,坐标已知,怎么求出这个点最靠近哪条线段
...全文
622
4
打赏
收藏
一条线,由若干个节点连接而成,List对象数组,每节点的坐标已知,每相邻两个节点都是直线连接。现有一点,坐标已知,怎么求出这个点最靠近哪条线段
一条线(弯弯曲曲不规则),由若干个节点连接而成,List对象数组,每节点的坐标已知,每相邻两个节点都是直线连接。现有一点,坐标已知,怎么求出这个点最靠近哪条线段
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
丶初号鸡
2015-07-14
打赏
举报
回复
遍历list集合 每两个相邻的点 和 已知的点带到getLength方法中去,然后把距离算出来后比较下就可以了
丶初号鸡
2015-07-14
打赏
举报
回复
笨的办法就是把所有线段都比较一下 选择距离最小的那个。
+N一米阳光
2015-07-14
打赏
举报
回复
简单的点到线段距离算法已有,现在是想知道这个点(不在线上)最靠近哪条线段 /** * 计算点到线段的距离 * @param x * @param y * @param x1 * @param y1 * @param x2 * @param y2 * @return */ public static double getLength(double x, double y, double x1, double y1, double x2, double y2){ double cross = (x2 - x1) * (x - x1) + (y2 - y1) * (y - y1); if (cross <= 0) return Math.sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1)); double d2 = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1); if (cross >= d2) return Math.sqrt((x - x2) * (x - x2) + (y - y2) * (y - y2)); double r = cross / d2; double px = x1 + (x2 - x1) * r; double py = y1 + (y2 - y1) * r; return Math.sqrt((x-px)*(x-px)+(py-y)*(py-y)); }
面试算法:快速获取数组中
点
的
相邻
区域
点
用O(n)的时间在给定数组中找到第i小的元素
好玩又有趣的算法,还有python示例捏
该示例代码使用一个字典来表示图,其中每个键表示一个
节
点
,每个值表示与该
节
点
直接相连的邻居
节
点
及其权重的字典。接下来,遍历所有
节
点
,并遍历每个
节
点
的邻居
节
点
,计算到达邻居
节
点
的距离,如果到达邻居
节
点
的距离比
已知
的距离更短,则更新距离字典。当一个
节
点
的所有
相邻
节
点
都被探索过时,它就会回溯到上一个
节
点
,并继续探索下一个
相邻
节
点
。归并排序也是一种分治算法,它将一个数组分成
两个
子数组,然后递归地对这
两个
子数组进行排序,最后将这
两个
已排序的子数组合并成一个已排序的数组。它从根
节
点
开始,然后探索所有
相邻
的
节
点
。
leedcode—图数据结构相关1
1.找出星型图的中心
节
点
有一个无向的 星型 图,由 n 个编号从 1 到 n 的
节
点
组成。星型图有一个 中心
节
点
,并且恰有 n - 1 条边将中心
节
点
与其他每个
节
点
连接
起来。 给你一个二维整数数组 edges ,其中 edges[i] = [ui, vi] 表示在
节
点
ui 和 vi 之间存在一条边。请你找出并返回 edges 所表示星型图的中心
节
点
。 示例 1: 输入:edges = [[1,2],[2,3],[4,2]] 输出:2 解释:如上图所示,
节
点
2 与其他每个
节
点
都相连,所以
节
点
2 是
用A*算法求自主导航的最短路径
A*算法是基于图搜索的一种较快捷的寻路算法,下面是它的基本思路。 一.
节
点
的数据结构。在每一个路径
节
点
或潜在的
节
点
(即地图的栅格)中,具有的数据如下: 1.最基本的
坐标
值,在这里我们选择用栅格二维数组的下标而不是笛卡尔
坐标
x、y。 2.父
节
点
,它意味着路径的拓展过程中本
节
点
是从其父
节
点
延伸过来的。 3.在每一轮迭代查找时,该路径
点
的优劣,它包括F,G,H三个数值,G指的是从起
点
移动到当前栅格的移动...
数组--LeetCode(python)
乘积最大子序列 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。 解法: 第一时间想到的是动态规划,想找当前位置上的乘积最大值,但是发现正负号的...
J2ME
13,096
社区成员
26,491
社区内容
发帖
与我相关
我的任务
J2ME
Java J2ME
复制链接
扫一扫
分享
社区描述
Java J2ME
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章