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

苏州市住房和城乡建设局信息网站新品牌推广策略

苏州市住房和城乡建设局信息网站,新品牌推广策略,移动前端开发需要学什么,旅游景点网页设计等价多米诺骨牌对的数量 1128. 等价多米诺骨牌对的数量 - 力扣(LeetCode) 题目: 给你一组多米诺骨牌 dominoes 。 形式上,dominoes[i] [a, b] 与 dominoes[j] [c, d] 等价 当且仅当 (a c 且 b d) 或者 (a d 且 b c) 。即…

等价多米诺骨牌对的数量

1128. 等价多米诺骨牌对的数量 - 力扣(LeetCode)

题目:

给你一组多米诺骨牌 dominoes 。

形式上,dominoes[i] = [a, b] 与 dominoes[j] = [c, d] 等价 当且仅当 (a == c 且 b == d) 或者 (a == d 且 b == c) 。即一张骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌。

在 0 <= i < j < dominoes.length 的前提下,找出满足 dominoes[i] 和 dominoes[j] 等价的骨牌对 (i, j) 的数量。

示例 1:

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

示例 2:

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

提示:

  • 1 <= dominoes.length <= 4 * 104
  • dominoes[i].length == 2
  • 1 <= dominoes[i][j] <= 9
自己的思路和代码:
思路:

        开始时,我的思路是两次遍历,和冒泡排序的实现方式差不多,但是我写出一版来显示超出时间限制。没有办法,只能修改,还是冒泡排序的实现方式,但是在每一次冒泡的时候,我会剔除选过的多米诺骨牌对,这样会减少运行的时间,成功了,但是时间还是很慢。

代码:
class Solution {
public:int numEquivDominoPairs(vector<vector<int>>& dominoes) {int sum = 0;int arr[dominoes.size()];memset(arr, 0, sizeof(arr));for(int i=0; i<dominoes.size()-1; i++) {if(arr[i] == 1) continue;int temp = 0;for(int j=i+1; j<dominoes.size(); j++) {if(arr[j] == 1) continue;if((dominoes[i][0]==dominoes[j][0] && dominoes[i][1]==dominoes[j][1]) || (dominoes[i][1]==dominoes[j][0] && dominoes[i][0]==dominoes[j][1])) {temp++;arr[j] = 1;}}//sum += temp;for(int i=0; i<=temp; i++) {sum += i;}}return sum;}
};
他人的思路和代码:

因为我自己实现的方法比较暴力,并且运行的时间也不是很理想,所以查看了题解,找了一个比较好的方法。

思路:

本题中我们需要统计所有等价的多米诺骨牌,其中多米诺骨牌使用二元对代表,「等价」的定义是,在允许翻转两个二元对的的情况下,使它们的元素一一对应相等。

于是我们不妨直接让每一个二元对都变为指定的格式,即第一维必须不大于第二维。这样两个二元对「等价」当且仅当两个二元对完全相同。

注意到二元对中的元素均不大于 9,因此我们可以将每一个二元对拼接成一个两位的正整数,即 (x,y)→10x+y。这样就无需使用哈希表统计元素数量,而直接使用长度为 100 的数组即可。

代码:
class Solution {
public:int numEquivDominoPairs(vector<vector<int>>& dominoes) {vector<int> num(100);int ret = 0;for (auto& it : dominoes) {int val = it[0] < it[1] ? it[0] * 10 + it[1] : it[1] * 10 + it[0];ret += num[val];num[val]++;}return ret;}
};

http://www.dtcms.com/wzjs/47762.html

相关文章:

  • 国际网站怎么做优化汽车seo是什么意思
  • 随州做网站企业网络推广平台
  • 公益网站建设方案友情链接qq群
  • 上海商城网站建设公司现在网络推广方式
  • 新潮远网站建设宜昌网站建设公司
  • 深圳网站制作公司电话如何申请网站域名流程
  • 网站用什么图片格式好哪些平台可以发布软文
  • 广州企业网站建设哪家好代运营公司靠谱吗
  • 共享ip做网站百度学术官网
  • 系统管理下载青岛seo关键词排名
  • 2023年最建议买的手机做优化的网站
  • 企业网站seo手机郴州网络推广公司排名
  • 国内最专业的设计网站建设seo关键词排名优化是什么
  • 网站推他网站代写平台
  • 正规的网站制作平台中超最新积分榜
  • 可以做幻灯片的网站html友情链接
  • 张家港企业网站制作环球网疫情最新消息
  • 猎头公司招聘信息淘宝seo对什么内容优化
  • 义乌外贸网站建设公司销售找客户最好的app
  • 重庆工程信息官网seo中文意思
  • 常州网站制作推广优化百度seo技术搜索引擎
  • 影视网站源码建设磁力最好用的搜索引擎
  • 没网站可以做快排吗seo哪里可以学
  • 西凤九网站建设的目标石家庄网站建设seo
  • wordpress调用头像南宁seo优化公司
  • 哪个网站可以帮助做数学题seo站长工具综合查询
  • 160mk2成色抖音搜索seo排名优化
  • 怎样用word2003做网站国内销售平台有哪些
  • 日照网站开发公司百合seo培训
  • 电子商务网站建设成都seo公司培训课程