当前位置: 首页 > news >正文

北京创意设计协会网站网上引流推广怎么做

北京创意设计协会网站,网上引流推广怎么做,盐城网站建设流程,温州的网站建设公司文章目录 一、题目二、C# 题解 一、题目 给定两条线段(表示为起点 start {X1, Y1} 和终点 end {X2, Y2}),如果它们有交点,请计算其交点,没有交点则返回空值。 要求浮点型误差不超过 10^-6。若有多个交点(…

文章目录

  • 一、题目
  • 二、C# 题解

一、题目

  给定两条线段(表示为起点 start = {X1, Y1} 和终点 end = {X2, Y2}),如果它们有交点,请计算其交点,没有交点则返回空值。

  要求浮点型误差不超过 10^-6。若有多个交点(线段重叠)则返回 X 值最小的点,X 坐标相同则返回 Y 值最小的点。

示例 1:

输入:
line1 = {0, 0}, {1, 0}
line2 = {1, 1}, {0, -1}
输出: {0.5, 0}

示例 2:

输入:
line1 = {0, 0}, {3, 3}
line2 = {1, 1}, {2, 2}
输出: {1, 1}

示例 3:

输入:
line1 = {0, 0}, {1, 1}
line2 = {1, 0}, {2, 1}
输出: {},两条线段没有交点

提示:

  • 坐标绝对值不会超过 2^7
  • 输入的坐标均是有效的二维坐标

  点击此处跳转题目。

二、C# 题解

  这题写的心累,参考了 LeetCode 官方解法,代码如下:

public class Solution {public double[] Intersection(int[] start1, int[] end1, int[] start2, int[] end2) {int       xa  = start1[0], xb = end1[0], xc = start2[0], xd = end2[0];int       ya  = start1[1], yb = end1[1], yc = start2[1], yd = end2[1];double[] ans = { };if ((xa - xb) * (yc - yd) != (ya - yb) * (xc - xd)) { // 不平行int    r = (xd - xc) * (yb - ya) - (yd - yc) * (xb - xa);int    p = (xc - xa) * (yd - yc) - (yc - ya) * (xd - xc);int    q = (xa - xc) * (yb - ya) - (ya - yc) * (xb - xa);double m = p * -1.0 / r, n = q * 1.0 / r;if (0 <= m && m <= 1 && 0 <= n && n <= 1) ans = new[] { xa + (xb - xa) * m, ya + (yb - ya) * m };}else if ((xa - xb) * (yc - ya) == (ya - yb) * (xc - xa)) { // 平行且在一条直线上Operation(xa, ya, xc, yc, xd, yd, ref ans);Operation(xb, yb, xc, yc, xd, yd, ref ans);Operation(xc, yc, xa, ya, xb, yb, ref ans);Operation(xd, yd, xa, ya, xb, yb, ref ans);}return ans;}private void Operation(int xp, int yp, int xa, int ya, int xb, int yb, ref double[] ans) {if (xp == xa && InLine(yp, ya, yb)) Update(xp, yp, ref ans);else if (xp != xa && InLine(xp, xa, xb)) Update(xp, yp, ref ans);}private bool InLine(int p, int a, int b) {return a <= p && p <= b || b <= p && p <= a;}private void Update(int x, int y, ref double[] ans) {if (ans.Length == 0) ans = new double[] { x, y };else if (Math.Abs(x - ans[0]) < 1e-6) ans[1] = y < ans[1] ? y : ans[1];else if (x < ans[0]) {ans[0] = x;ans[1] = y;}}
}
  • 时间:124 ms,击败 66.67% 使用 C# 的用户
  • 内存:41.04 MB,击败 100.00% 使用 C# 的用户
http://www.hrbkazy.com/news/27889.html

相关文章:

  • 大兴黄村网站建设公司百度快照怎么弄
  • 做红k线网站宁波营销型网站建设优化建站
  • 青岛北京网站建设公司哪家好app推广兼职是诈骗吗
  • 做搜狗pc网站优化快速软文代写兼职
  • 类似京东的购物网站开发价格百度医生
  • 做盗版视频网站犯法吗短链接在线生成免费
  • 南京网站制作链接简述网站推广的方法
  • 如何制作网站app惠州seo公司
  • 网站建设套餐是什么快速优化系统
  • 网络建设工作总结seo搜索优化招聘
  • 搜网站首页不见了seo磁力搜索引擎下载
  • 沈阳网站建设报价百度seo怎么把关键词优化上去
  • 网站建设标准流程及外包注意事项什么样的人适合做营销
  • 个体户能做网站备案吗福州搜索排名提升
  • 做网站续费百度文章收录查询
  • 韩城网站建设兰州seo快速优化报价
  • 做网站哪家好哪家好seo先上排名后收费
  • 用wordpress设计html中国seo网站
  • 展示型网站与营销型网站区别我有广告位怎么找客户
  • 洛阳 网站建设seo如何优化网站推广
  • 莱芜金点子最新招工招聘启事seo综合查询什么意思
  • 网站有限公司厦门seo哪家强
  • 长沙仿站定制模板建站百度seo排名在线点击器
  • 网站制作和美工百度引流推广哪家好
  • 哈尔滨站建筑seo技术蜘蛛屯
  • 鲁斌 42450745 网站建设北京百度关键词排名
  • 云南网站建设维修公司沈阳网站关键词优化公司
  • 揭阳网站制作机构百度seo在哪里
  • 电影网站空间配置google搜索
  • 产品设计说明seo专员工作内容