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

网站辅导运营与托管公司海南住房与建设厅网站

网站辅导运营与托管公司,海南住房与建设厅网站,wordpress it模板下载,百度软文推广怎样收费通过万岁#xff01;#xff01;#xff01; 题目#xff1a;给你一个n*2的数组#xff0c;然后第i行表示第i个点的坐标#xff0c;然后还给你了一个字符串s#xff0c;s[i]则表示第i个点的名称。然后让你找一个中心是#xff08;0,0#xff09;的正方形#xff0c;…通过万岁 题目给你一个n*2的数组然后第i行表示第i个点的坐标然后还给你了一个字符串ss[i]则表示第i个点的名称。然后让你找一个中心是0,0的正方形正方形中尽可能包含多的点但是里面的点的名称不能重复。即所有的点不存在s[i]s[j]的情况。思路下面的点我们先都以第一象限来考虑然后写代码的时候加个绝对值就好了。首先是构建一个map然后key是名称value是点的list。如果list的长度大于1就对list进行排序排序的规则就是坐标轴x或者y最大的那个点在后面即切比雪夫距离也就是max(|x|,|y|)。然后我们找正方形边长的一半这里叫他minWidth就好了因为这个list的长度大于1我们要让正方形尽可能的大list是排序过的所以不包含第二点暂记为a,b就好了也就是minWidthmax(a,b)-1但是minWidth还要与之前的minWidth取最小值所以最终公式为minWidthmax(minWidth,max(a,b)-1)。拿到宽度以后我们再遍历map然后记录有多少个点再minWidth的范围之内就好了。进阶思路我的代码时间复杂度有点高因为涉及到了排序。然后我看了下网上大佬们的思路其实不用排序的我们只需要遍历字符串找到s[i]的这些点中第二小的切比雪夫距离。技巧排序 java代码 class Solution {public int maxPointsInsideSquare(int[][] points, String s) {MapCharacter, Listint[] map new HashMap();for (int i 0; i s.length(); i) {Listint[] list map.getOrDefault(s.charAt(i), new ArrayList());list.add(points[i]);map.put(s.charAt(i), list);}// 对list进行排序int minWidth Integer.MAX_VALUE;for (Map.EntryCharacter, Listint[] entry : map.entrySet()) {Listint[] value entry.getValue();if (value.size() 2) {// 坐标最大的那个放在后面value.sort(Comparator.comparingInt(o - Math.max(Math.abs(o[0]), Math.abs(o[1]))));// 获取第二个点int[] point value.get(1);// 不能包含第二个点minWidth Math.min(minWidth, Math.max(Math.abs(point[0]), Math.abs(point[1])) - 1);}}int ret 0;for (Map.EntryCharacter, Listint[] entry : map.entrySet()) {Listint[] value entry.getValue();int[] point value.getFirst();if (Math.abs(point[0]) minWidth Math.abs(point[1]) minWidth) {ret;}}return ret;} }java代码——进阶 class Solution {public int maxPointsInsideSquare(int[][] points, String s) {MapCharacter, Integer map new HashMap();// 正方形的宽度的一半int minWidth Integer.MAX_VALUE;for (int i 0; i s.length(); i) {int temp Math.max(Math.abs(points[i][0]), Math.abs(points[i][1]));// s[i]的宽度Integer siWidth map.getOrDefault(s.charAt(i), Integer.MAX_VALUE);if (temp siWidth) {// 因为已经有比siWidth小的点了siWidth可能是第二小的点minWidth Math.min(minWidth, siWidth);// 当前这个点的坐标会更小我们要保留这个点map.put(s.charAt(i), temp);} else if (temp minWidth) {// temp这个可能是不是s[i]中更小的但是他比minWidth小minWidth temp;}}int ret 0;for (Map.EntryCharacter, Integer entry : map.entrySet()) {if (entry.getValue() minWidth) {ret;}}return ret;} }总结题目还是有点难度的主要是这里的切比雪夫距离。
http://www.hkea.cn/news/14489068/

相关文章:

  • 服务器搭建网站方案500字施工企业信用评价
  • 企业网站优化暴肃湖南岚鸿很好怎样自做网站
  • 服务机构电子商务网站有哪些云匠网骗设计师入驻费
  • 苏州网站建设n苏州网站建设公司福田欧曼自卸车
  • 深圳网站开发专业团队提高wordpress响应速度慢
  • 网站建设怎么分析市场wordpress 用户权限管理
  • tp5企业网站开发实例免费crm系统手机版
  • 建设部工程造价管理网站制作微网站的平台
  • 如何做网站主题网站设计毕业设计题目
  • 汉语资源建设相关网站网站搜索引擎关键字怎么做
  • 安庆做网站网站代理宁波公司地址
  • 国内免费商用图片的网站网站里可以增加网址吗
  • 青海省建设监理协会网站如何查看网站是谁建设的
  • 大连网站建设流程图网站建设 电商
  • 免费网站模版移动应用开发案例
  • 个人建设网站盈利需要什么材料沧州网站制作教程
  • 网站备案 怎么加asp.net 当前网站
  • 河南信阳网站建设公司电话南京网站开发荐南京乐识
  • 设计网站的步骤有哪些网页搜索栏下面的记录怎么删
  • 凡科免费建站平台网页设计模板代码免费
  • 上海中国建设银行网站免费asp公司网站模板
  • 博客网站开发源代码凡科快图在线制作免费
  • 网站策划与建设阶段的推广的目标窗帘网站建设策划书
  • 国外常用的网站开发系统北京网站建设还公司
  • 站长工具ip地址查询怎么做二级域名网站
  • 网站评估怎么做学科基地网站建设
  • 专门查建设项目的网站网站建设合同制人员招聘
  • 攀枝花建设集团网站网站做简介
  • 杭州品格网站设计中核华泰建设有限公司网站
  • 深圳网络营销推广公司哪家好论坛seo教程