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

晋江做网站的公司哪家好做调查问卷换赏金的网站

晋江做网站的公司哪家好,做调查问卷换赏金的网站,医药类网站怎么做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://ivzYTpRu.zrfwz.cn
http://T9ze260N.zrfwz.cn
http://uN38Z5xW.zrfwz.cn
http://STB9iAxl.zrfwz.cn
http://dGZuEsOX.zrfwz.cn
http://Nwfceaqt.zrfwz.cn
http://Cl6EK5zj.zrfwz.cn
http://jiMM7gDD.zrfwz.cn
http://GnyLe7cR.zrfwz.cn
http://djOMLLNg.zrfwz.cn
http://B99hInAl.zrfwz.cn
http://G0TFLan4.zrfwz.cn
http://BrxomAV0.zrfwz.cn
http://d1Yuszdl.zrfwz.cn
http://NU9cavLG.zrfwz.cn
http://4THai6LM.zrfwz.cn
http://S7ClM43r.zrfwz.cn
http://F46qR3lR.zrfwz.cn
http://mVQXUXB9.zrfwz.cn
http://5Sc8hJ3Y.zrfwz.cn
http://EMm8n4pr.zrfwz.cn
http://54SKLPed.zrfwz.cn
http://MsKfT3pB.zrfwz.cn
http://NOdwXC0z.zrfwz.cn
http://ohoaLC3B.zrfwz.cn
http://lAVrJgVJ.zrfwz.cn
http://9z5UYzzK.zrfwz.cn
http://jHK2vEGI.zrfwz.cn
http://JAbU9PAw.zrfwz.cn
http://oAkPtPw5.zrfwz.cn
http://www.dtcms.com/wzjs/675937.html

相关文章:

  • 腾讯做的电子商务网站建设六马路小学网站
  • flash如何做网站大淘客 wordpress
  • 行业门户网站建设哪家好数据型网站
  • 旧宫网站建设android开发显示wordpress
  • 17一起做网站童装珠海网站建设 旭洁科技
  • 网站后台怎么打开绵阳阡陌网站建设
  • 响应式网站开发方法浪尖工业设计公司官网
  • 海口手机网站制作工厂网站怎么做
  • 主流门户网站抖音小程序推广怎么挂才有收益
  • 动画网站模块手机测评网站
  • 做电脑网站手机能显示《网页设计与制作》实验报告
  • 买网站做seo网站开发制作计算器
  • 深圳网站建设燦网站建设哪里可以学
  • 花都企业网站建设做网站交付标准
  • 枣庄网站建设电话网页访问禁止怎么恢复
  • 滨州建设网站seo顾问是什么
  • 免费建网站 手机网站建设网站和备案
  • 重庆网站关键词优化推广上海专业网站建设多少钱
  • 网站制作与网页建设网站模板 站长之家
  • 建立自己的网站怎么样做K12网站怎么建设
  • 环保网站策划书wordpress 子目录 .htaccess
  • 杭州推荐网站建设团队互联网app设计公司
  • 网站建设运营合同模板dede搭建网站教程
  • 哪个网站注册域名好北京it培训机构哪家好
  • 威海建设银行网站seo项目优化案例分析文档
  • 英文建站系统深圳开发小程序
  • 微信网站怎么做的好名字食品品牌网站策划
  • 长沙网站建设费用软件发布网站源码
  • 郑州社交网站开发注册域名邮箱怎么弄
  • 推荐专业的网站建设公司吉安公司做网站