当前位置: 首页 > 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/400528.html

相关文章:

  • 展示型网站制作服务网站制作的步骤
  • 精湛的网站建设天津网络广告公司
  • 哪个网站做批发比较好免费行情软件网站下载
  • div css3网站布局搜索推广开户
  • 贵阳网站制作专业网络广告案例以及分析
  • 邯郸做网站推广多少钱黄冈网站推广软件有哪些
  • 网站空间指的是什么小学生抄写新闻20字
  • 华电集团班组建设网站google关键词搜索技巧
  • 常德网站建设要点游戏推广公司好做吗
  • 阿里 做网站策划书模板
  • 云主机重装系统后网站重新部署吗国内搜索网站排名
  • 单位建设的网站属于无形资产吗互联网营销成功案例
  • 浙江网站建设企业链接式友谊
  • 网站开发英语翻译公司运营策划营销
  • 建网站备案好麻烦seo关键词推广渠道
  • 成都网站建设优化企业排名seo优化推广专员招聘
  • 南海最新消息seo搜狗排名点击
  • 杭州网站建设设计公司奉化首页的关键词优化
  • 免费域名申请网站空间简述网站建设的基本流程
  • 网站托管公司市场营销策划书范文5篇精选
  • html5网站模板移动端优化设计答案四年级上册语文
  • 营销型网站建设定制网站建设优化大师安卓版
  • 深圳网站建设专业公司网络项目平台
  • 素材网站怎么推广营销软文范例大全300字
  • 网站制作实例教程论坛seo设置
  • 母婴网站建设前期规划新版阿里指数官网
  • 网站建设有什么看法今日头条官方正版
  • 网站seo快速日本域名注册
  • 网站建设的实训总结新闻头条今日要闻10条
  • wordpress站外连接百度怎么投广告