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

专门做旅游的视频网站有哪些seo关键词排名优化怎样收费

专门做旅游的视频网站有哪些,seo关键词排名优化怎样收费,哪个网站可以查到个人名下公司,蛇口做网站的公司输入:dominoes [[1,2],[1,2],[1,1],[1,2],[2,2]] 输出:3通过示例观察我们可以发现[1,2]有三个,[1,1]有一个,[2,2]有一个,而等价多米诺骨牌对数量的计算是通过计数的方式统计的,如果是三个那就sum21&#x…

输入:dominoes = [[1,2],[1,2],[1,1],[1,2],[2,2]]
输出:3

通过示例观察我们可以发现[1,2]有三个,[1,1]有一个,[2,2]有一个,而等价多米诺骨牌对数量的计算是通过计数的方式统计的,如果是三个那就sum=2+1,ans+=sum即可,如果为四个,那就sum=3+2+1,ans+=sum,而在本题中[1,2][2,1]可以看作同一个数,一起统计进去即可,那我这题选择使用map进行维护,当然有数组的话就不能使用传统的Map<Integer,Integer>,可以使用比较好改变的Map<String,Integer>来维护,String的值的话可以使用(i,j)或者(j,i),反正就是哪个先来用哪个即可。

那我就分段解释一下我都代码逻辑

        int n = dominoes.length;HashMap<String,Integer> hashmap = new HashMap<>();for(int i=0;i<n;i++){String key = "("+ dominoes[i][0] + "," + dominoes[i][1] + ")";String keyR = "(" + dominoes[i][1] + "," + dominoes[i][0] + ")";if(hashmap.getOrDefault(key,0)>0){hashmap.put(key,hashmap.getOrDefault(key,0)+1);}else if(hashmap.getOrDefault(keyR,0)>0){hashmap.put(keyR,hashmap.getOrDefault(keyR,0)+1);}else{hashmap.put(key,hashmap.getOrDefault(key,0)+1);}}

[[2,1],[1,2],[1,2]]举一个例子,当[2,1]进入循环,因为一开始都不存在,所以在hashmap中我们会去创建一个新的键值对,key就为(2,1),值为1,当后续遍历至[1,2],因为已经存在[2,1]这个健,我们就会往keyR这个键的值中进行加加。

        int sum = 0;for(Map.Entry<String,Integer> entry:hashmap.entrySet()){// System.out.println("key="+entry.getKey()+" value="+entry.getValue());int mid = entry.getValue()*(entry.getValue()-1)/2;sum+=mid;}

注释的部分是打印出来对步骤进行调试的,对于上面sum的统计其实是可以统计一个公式的,拿3举个例子,sum=3*(3-1)/2,然后统计即可。hashmap.entrySet()这个用法对于map维护数组的作用还是非常大的,可以记一下。

完整代码如下

class Solution {public int numEquivDominoPairs(int[][] dominoes) {int n = dominoes.length;HashMap<String,Integer> hashmap = new HashMap<>();for(int i=0;i<n;i++){String key = "("+ dominoes[i][0] + "," + dominoes[i][1] + ")";String keyR = "(" + dominoes[i][1] + "," + dominoes[i][0] + ")";if(hashmap.getOrDefault(key,0)>0){hashmap.put(key,hashmap.getOrDefault(key,0)+1);}else if(hashmap.getOrDefault(keyR,0)>0){hashmap.put(keyR,hashmap.getOrDefault(keyR,0)+1);}else{hashmap.put(key,hashmap.getOrDefault(key,0)+1);}}int sum = 0;for(Map.Entry<String,Integer> entry:hashmap.entrySet()){// System.out.println("key="+entry.getKey()+" value="+entry.getValue());int mid = entry.getValue()*(entry.getValue()-1)/2;sum+=mid;}return sum;}
}

看了下官方的题解,对于官方的题解它的健和值分别用的是数组下标和数组的值存的,只能说真的非常秒,但也可能是只针对本题而已,毕竟它的范围是1 <= dominoes[i][j] <= 9,所以数组的边界定义在100,然后根据二维数组的下标将[1][2]变为[12],[2][1]变为[12],判断下标ij的大小即可很好的判断出来。最后一样统计数量即可。

class Solution {public int numEquivDominoPairs(int[][] dominoes) {int[] num = new int[100];int ret = 0;for (int[] domino : dominoes) {int val = domino[0] < domino[1] ? domino[0] * 10 + domino[1] : domino[1] * 10 + domino[0];ret += num[val];num[val]++;}return ret;}
}
http://www.dtcms.com/wzjs/319317.html

相关文章:

  • 企业商城网站 .nettorrentkitty磁力猫引擎
  • 手机网站设计背景图片如何制作网址链接
  • 网站建设设计文档模板app优化方案
  • 哪些网站做的好处和坏处微信营销平台有哪些
  • 甘肃省住房和城乡建设厅网站百度指数数据分析平台入口
  • 东莞智通人才网招聘信息网网站关键词优化方案
  • 南山企业网站建设百度网址大全下载安装
  • 怎么样才能自己做网站打广告软文营销案例200字
  • 正能量直播网站上海谷歌seo推广公司
  • 做IPv6网站升级的公司有哪些海城seo网站排名优化推广
  • 网站建设与管理 教学视频广东东莞最新疫情
  • angular网站模板下载营销最好的方法
  • 小公司让我用织梦做网站今日财经新闻
  • sharepoint做门户网站长沙百度地图
  • 如何搭建第三方网站如何用html制作一个网页
  • 大学生课程设计网站小红书seo
  • 佛山知名营销网站开发搜狗站长平台
  • 建设网站服务费会计分录2023近期舆情热点事件
  • 铁威马 Nas 做网站腾讯营销平台
  • 网站图片用什么做的seo快速排名多少钱
  • 龙岩市永定区疫情最新消息郑州官网网站推广优化公司
  • 第三方网站做app百度app官网
  • 成都网站建设 3e网络推销一个产品的方案
  • 企业网站制作报价表百度免费优化
  • 自己电脑做服务器搭建网站图片识别
  • 做淘客网站要什么样服务器做一个网站需要多少钱大概
  • 做一份完整的网站规划书投资网站建设方案
  • 绿色在线网站百度一下浏览器下载安装
  • wordpress 下载官网搜索引擎优化策略有哪些
  • 店铺首页设计奉化seo页面优化外包