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

网站制作教程及流程崇信县门户网站

网站制作教程及流程,崇信县门户网站,瑞丽住建局网站,网站建设使用情况题目 Al识别到面板上有N(1<N≤100)个指示灯&#xff0c;灯大小一样&#xff0c;任意两个之间无重叠。由于AI识别误差&#xff0c;每次识别到的指示灯位置可能有差异&#xff0c;以4个坐标值描述Al识别的指示灯的大小和位置(左上角x1,y1&#xff0c;右下角x2.y2)。请输出先行…

题目

Al识别到面板上有N(1<N≤100)个指示灯,灯大小一样,任意两个之间无重叠。由于AI识别误差,每次识别到的指示灯位置可能有差异,以4个坐标值描述Al识别的指示灯的大小和位置(左上角x1,y1,右下角x2.y2)。请输出先行后列排序的指示灯的编号,排序规则:
每次在尚未排序的灯中挑选最高的灯作为基准灯
找出和基准灯属于同一行所有的灯进行排序。两个灯高低偏差不超过灯半径算同一行(即两个灯坐标的差<=灯高度的一半)。
输入描述
第一行为N,表示灯的个数
接下来N行,每行为1个灯的坐标信息,格式为:编号 x1 y1 x2 y2
1∶编号全局唯一
2:1<编号≤100
3: 0<=x1 < x2 ≤ 1000
4: 0<=y1 < y2 ≤ 1000
输出描述
排序后的编号列表,编号之间以空格分隔
示例1:
输入
5
1 0 0 2 2
2 6 1 8 3
3 3 2 5 4
5 5 4 7 6
4 0 4 2 6
输出
1 2 3 4 5
在这里插入图片描述

思路

本题描述比较复杂,不好理解,下面转化为好理解的版本。
先找到基准灯:所有灯中最高的,等高时,取最左边的
找到所有与基准灯为同一行的灯,按照从左到右的顺序排序
继续再剩余未排序的灯中找基准灯,重复上述过程。
在实现思路上,我们已经有灯的左上角及右下角坐标,那么我们可以算出每个灯的中心坐标以及半径,假设以(X,Y)表示中心坐标,以R表示半径。

  1. 由于涉及到复杂对象的比较,我们可以新建一个灯对象(Lamp),它有三个属性,X代表中心点横坐标,Y代表中心点的纵坐标,R代表半径。
  2. 将每行输入转为一个灯,并放入集合list中
  3. 为了寻找基准灯,也就是最高和最左边的灯,可以对Lamp对象自定义比较方法,取Y最小的(Y相等时取X最小的)
  4. 对list按照我们自定义规则进行排序(最高最左的在前)
  5. 对排序后list的第一个灯,作为基准灯,找到和基准灯在同一行的灯。判断同一行的标准,两个灯纵坐标的差值的绝对值<=灯半径。这个比较方法可以直接写在我们新建的Lamp对象中。
  6. 对与基准灯同一行的灯,加入到一个临时集合tmp,然后再对tmp排序,按从左到右排序即可(X越小排在越前)
  7. 将本轮排序结果tmp加入最终的ans中
  8. 继续寻找下一个基准灯(还未被加入到ans中的里面找最高最左的灯),重复4,5,6,7步骤。

题解

package hwod;import java.util.*;public class AIBoardRecognize {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[][] matrix = new int[n][5];for (int i = 0; i < n; i++) {for (int j = 0; j < 5; j++) {matrix[i][j] = sc.nextInt();}}List<Lamp> res = aIBoardRecognize(matrix);for (int i = 0; i < res.size(); i++) {if (i != 0) System.out.print(" ");System.out.print(res.get(i).getId());}}private static List<Lamp> aIBoardRecognize(int[][] matrix) {int m = matrix.length;List<Lamp> lamps = new ArrayList<>(m);for (int i = 0; i < m; i++) {int id = matrix[i][0];int x = (matrix[i][1] + matrix[i][3]) >> 1;int y = (matrix[i][2] + matrix[i][4]) >> 1;int r = (matrix[i][3] - matrix[i][1]) >> 1;lamps.add(new Lamp(id, x, y, r));}Collections.sort(lamps);List<Lamp> ans = new ArrayList<>(m);int i = 0;while (i < m) {Lamp base = lamps.get(i);List<Lamp> tmp = new ArrayList<>();while (i < m && base.isSameHigh(lamps.get(i))) {tmp.add(lamps.get(i));i++;}Collections.sort(tmp, (o1, o2) -> o1.getX() - o2.getX());ans.addAll(tmp);}return ans;}
}class Lamp implements Comparable<Lamp> {private int id;private int x;private int y;private int r;public Lamp(int id, int x, int y, int r) {this.id = id;this.x = x;this.y = y;this.r = r;}public int getId() {return id;}public int getX() {return x;}public int getY() {return y;}public int getR() {return r;}public boolean isSameHigh(Lamp lamp) {return Math.abs(lamp.getY() - this.getY()) <= this.r;}@Overridepublic int compareTo(Lamp other) {return this.getY() == other.getY() ? this.getX() - other.getX() : this.getY() - other.getY();}
}

为了方便验证,这里再提供三组测试用例

用例1:
5
1 0 0 2 2
2 6 0 8 2
3 3 1 5 3
5 5 1 7 3
4 0 4 7 6
输出: 1 3 5 2 4
用例2:
5
1 0 0 2 2
2 6 0 8 2
3 3 1 5 3
5 5 2 7 4
4 0 4 7 6
输出: 1 3 2 5 4
用例3:
5
1 0 0 2 2
2 6 0 8 2
3 3 1 5 3
5 5 3 7 5
4 0 4 7 6
输出: 1 3 2 4 5

http://www.yayakq.cn/news/265778/

相关文章:

  • 网站怎么做房源天猫网站建设的目标是什么
  • 目前旅游网站开发网站开发 维护岗位职责
  • 网站是怎么盈利的30秒牢记5个域名
  • 做电影网站主机放哪比较好建设营销型网站公司
  • 做竞拍网站长沙企业建站方案
  • 差异基因做热图在线网站wordpress 商用
  • 网站开发毕业答辩演讲稿范文免费照片的网站模板免费下载
  • 深圳做二维码网站淘宝关键词搜索量查询工具
  • 娱乐类网站怎么建设wordpress添加下载地址
  • wordpress手机网站插件深圳龙岗小学排名
  • 国外优秀的平面设计网站win优化大师
  • 校园网站设计与实现个人网站模板响应式
  • 服务专业公司网站建设服务学编程入门先学什么
  • 做国外单的网站叫什么名字西安旅游网站建设
  • 网站建设金手指稳定网站建设简单点的
  • 专业建站推广企业小米路由器建设网站
  • 聊城质量最好网站建设旅游门户网站建设方案
  • 免费自建网站湖南省建设监理协会官网
  • 长沙模板建站邯郸装修网站建设
  • 深圳做企业网站公司重庆网络营销网站建设销售
  • 商城形式的网站需要多少钱小程序开发平台源代码下载
  • 广州网站制作长沙wordpress </a> </li> <li> <a href="/news/265755/">网站推广建设加盟深圳官网设计</a> </li> <li> <a href="/news/265754/">网站备案信息填写网站创建方法</a> </li> <li> <a href="/news/265752/">网站维护需要什么技能焦作北京网站建设</a> </li> <li> <a href="/news/265751/">西安门户网站建设公司哪家好美食网站建设书</a> </li> <li> <a href="/news/265749/">黑龙江建设教育网站如何知道一个网站是用什么做的</a> </li> <li> <a href="/news/265748/">比较好的logo设计网站新开传奇网站发布网站</a> </li> <li> <a href="/news/265747/">湖北平台网站建设哪家好做网站商城要注册什么公司</a> </li> <li> <a href="/news/265746/">网站开发设计选题背景php免费网站模板</a> </li> </div> </article> </main> </div> </div> <aside id="secondary" class="widget-area sidebar"> <div class="widget widget_posts_thumbnail" style="margin-top:6px;"> <h2 class="widget-title">最新文章</h2> <ul> <li class="clear"> <a href="/news/1003133/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/网站建设模板图片东南亚营销型网站建设与网络推广" alt=" 网站建设模板图片东南亚营销型网站建设与网络推广" /> </div> </a> <div class="entry-wrap"> <a href="/news/1003133/" rel="bookmark"> 网站建设模板图片东南亚营销型网站建设与网络推广</a> <div class="entry-meta">2025/9/18 15:16:49</div></div> </li> <li class="clear"> <a href="/news/1003131/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/无锡网站建设推荐遵义网站开发培训" alt=" 无锡网站建设推荐遵义网站开发培训" /> </div> </a> <div class="entry-wrap"> <a href="/news/1003131/" rel="bookmark"> 无锡网站建设推荐遵义网站开发培训</a> <div class="entry-meta">2025/9/18 15:15:58</div></div> </li> <li class="clear"> <a href="/news/1003130/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/六安做网站公司做网站买虚拟主机" alt=" 六安做网站公司做网站买虚拟主机" /> </div> </a> <div class="entry-wrap"> <a href="/news/1003130/" rel="bookmark"> 六安做网站公司做网站买虚拟主机</a> <div class="entry-meta">2025/9/18 15:15:58</div></div> </li> <li class="clear"> <a href="/news/1003129/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/顺德网站建设方案2021营业执照年检网上申报" alt=" 顺德网站建设方案2021营业执照年检网上申报" /> </div> </a> <div class="entry-wrap"> <a href="/news/1003129/" rel="bookmark"> 顺德网站建设方案2021营业执照年检网上申报</a> <div class="entry-meta">2025/9/18 15:15:58</div></div> </li> <li class="clear"> <a href="/news/1003128/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/做网站西安哪家好鄂州商城网站建设" alt=" 做网站西安哪家好鄂州商城网站建设" /> </div> </a> <div class="entry-wrap"> <a href="/news/1003128/" rel="bookmark"> 做网站西安哪家好鄂州商城网站建设</a> <div class="entry-meta">2025/9/18 15:15:58</div></div> </li> <li class="clear"> <a href="/news/1003127/" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/设计国外网站有哪些网站怎么做pc端盒子" alt=" 设计国外网站有哪些网站怎么做pc端盒子" /> </div> </a> <div class="entry-wrap"> <a href="/news/1003127/" rel="bookmark"> 设计国外网站有哪些网站怎么做pc端盒子</a> <div class="entry-meta">2025/9/18 15:15:58</div></div> </li> </ul> </div> <div class="leftdiv2"> </div> </aside> </div> <footer id="colophon" class="site-footer"> <div class="clear"></div> <div id="site-bottom" class="clear"> <div class="container"> <div class="menu-m_footer-container"> <ul id="footer-menu" class="footer-nav"> <li> <strong> <a href="/">芽芽口腔健康站介绍</a></strong> </li> <li> <strong> <a href="/">商务合作</a></strong> </li> <li> <strong> <a href="/">免责声明</a></strong> </li> </ul> </div> <div class="site-info"> <p>CopyRight © <a href="/">芽芽口腔健康站</a>版权所有 </p> </div> </div> </div> </footer> </div> <div id="back-top"> <a href="#top" title="返回顶部"> <svg width="38" height="38" viewbox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect width="48" height="48" fill="white" fill-opacity="0.01" /> <path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="#3d4de6" stroke="#3d4de6" stroke-width="4" stroke-linejoin="round" /> <path d="M24 33.5V15.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /> <path d="M33 24.5L24 15.5L15 24.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg> </a> </div> <script src='/templates/nzzt/js/common.js'></script> <script> $(function(){ $('.source_url').text('原文地址:https://blog.csdn.net/qq_31076523/article/details/134211984'); }); /*$('.source_url').on("click",function() { window.open('https://blog.csdn.net/qq_31076523/article/details/134211984', '_blank'); });*/ </script> </body> </html>