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

有哪些做普洱茶网站的ppt大全免费模板

有哪些做普洱茶网站的,ppt大全免费模板,酷家乐网站做墙裙教程,什么程序做网站收录好文章目录 前言等价多米诺骨牌对的数量拼写单词“气球” 的最大数量独一无二的出现次数找出井字棋的获胜者种花问题用最少数量的箭引爆气球划分字母区间最小数字游戏 前言 #x1f4ab;你好#xff0c;我是辰chen#xff0c;本文旨在准备考研复试或就业 #x1f4ab;文章题目… 文章目录 前言等价多米诺骨牌对的数量拼写单词“气球” 的最大数量独一无二的出现次数找出井字棋的获胜者种花问题用最少数量的箭引爆气球划分字母区间最小数字游戏 前言 你好我是辰chen本文旨在准备考研复试或就业 文章题目大多来自于 leetcode当然也可能来自洛谷或其他刷题平台 欢迎大家的关注我的博客主要关注于考研408以及AIoT的内容 仅给出C版代码 以下的几个专栏是本人比较满意的专栏(大部分专栏仍在持续更新)欢迎大家的关注 ACM-ICPC算法汇总【基础篇】 ACM-ICPC算法汇总【提高篇】 AIoT(人工智能物联网) 考研 CSP认证考试历年题解 等价多米诺骨牌对的数量 题目链接等价多米诺骨牌对的数量 C版AC代码 class Solution { public:int numEquivDominoPairs(vectorvectorint dominoes) {unordered_mapint, int m;for (int i 0; i dominoes.size(); i ) {int d dominoes[i][0], u dominoes[i][1]; if (d u) swap(d, u); // 不管是0°还是180°都统一映射成一个数m[d * 10 u] ;}int res 0;for (auto i m.begin(); i ! m.end(); i ) {int n i - second;res (n - 1) * n / 2; // 组合数学问题}return res;} };C版AC代码 关于组合数学那里其实可以再多一部思考 C n 2 n ∗ ( n − 1 ) / 2 C_n^2 n*(n-1)/2 Cn2​n∗(n−1)/2 n ∗ ( n − 1 ) / 2 1 2 . . . n − 1 n*(n-1)/2 12...n-1 n∗(n−1)/212...n−1因此可以边统计边计算 class Solution { public:int numEquivDominoPairs(vectorvectorint dominoes) {unordered_mapint, int m;int res 0;for (int i 0; i dominoes.size(); i ) {int d dominoes[i][0], u dominoes[i][1];if (d u) swap(d, u);int k d * 10 u;res m[k], m[k] ; // 边统计边计算}return res;} };拼写单词 题目链接拼写单词 C版AC代码 class Solution { public:int countCharacters(vectorstring words, string chars) {unordered_mapchar, int m;for (int i 0; i chars.size(); i ) m[chars[i]] ;int res 0;for (int i 0; i words.size(); i ) {string word words[i];unordered_mapchar, int tmp;for (int j 0; j word.size(); j ) tmp[word[j]] ;bool flag true;for (auto j tmp.begin(); j ! tmp.end(); j ) {char c j - first;if (tmp[c] m[c]) {flag false;break;}}if (flag) res word.size();}return res;} };“气球” 的最大数量 题目链接“气球” 的最大数量 C版AC代码 主要学习一下多个值取 min 的语法 return min({x1, x2, x3, x4, x5});class Solution { public:int maxNumberOfBalloons(string text) {unordered_mapchar, int m;for (int i 0; i text.size(); i ) m[text[i]] ;return min({m[b], m[a], m[l] / 2, m[o] / 2, m[n]});} };独一无二的出现次数 题目链接独一无二的出现次数 C版AC代码 class Solution { public:bool uniqueOccurrences(vectorint arr) {unordered_mapint, int m1; // 第一个映射,统计每个数出现的次数for (int i 0; i arr.size(); i ) m1[arr[i]] ;unordered_mapint, int m2; // 第二个映射,统计出现的次数的次数for (auto i m1.begin(); i ! m1.end(); i ) {int cnt i - second;m2[cnt] ;}bool flag true;for (auto i m2.begin(); i ! m2.end(); i ) if (i - second ! 1) {flag false;break;}return flag;} };找出井字棋的获胜者 题目链接找出井字棋的获胜者 C版AC代码 class Solution { public:int a[3][3];string tictactoe(vectorvectorint moves) {int win 0;for (int i 0; i moves.size(); i ) {int x moves[i][0], y moves[i][1];if ((i 1) % 2) a[x][y] 1;else a[x][y] 2;}for (int i 0; i 3; i ) { // 横着或者竖着连成一直线if (a[i][0] a[i][1] a[i][1] a[i][2]) {win a[i][0];break;}else if (a[0][i] a[1][i] a[1][i] a[2][i]) {win a[0][i];break;}}if (a[0][0] a[1][1] a[1][1] a[2][2]) win a[0][0]; // 主对角线if (a[0][2] a[1][1] a[1][1] a[2][0]) win a[0][2]; // 副对角线if (win 1) return A;else if (win 2) return B;else if (win 0 moves.size() 9) return Draw;else return Pending;} };种花问题 题目链接种花问题 C版AC代码 class Solution { public:bool canPlaceFlowers(vectorint flowerbed, int n) {int cnt 0, m flowerbed.size();if (m 1 !flowerbed[0]) return true; // 特判只有一朵花if (m 2 !flowerbed[0] !flowerbed[1]) { // 特判第一个结点flowerbed[0] 1;cnt ;}for (int i 1; i m - 1; i ) if (!flowerbed[i] !flowerbed[i - 1] !flowerbed[i 1]) { // 统计中间结点flowerbed[i] 1;cnt ;}if (m 2 !flowerbed[m - 2] !flowerbed[m - 1]) { // 特判最后一个结点flowerbed[m - 1] 1;cnt ;}return cnt n;} };C版AC代码 改进上述代码其实由于边界条件分成了三部分进行了处理我们可以在 vector 的头和尾各添加一个 0这样就可以规避边界处理 class Solution { public:bool canPlaceFlowers(vectorint flowerbed, int n) {int cnt 0, m flowerbed.size();flowerbed.insert(flowerbed.begin(), 0);flowerbed.push_back(0);// 注意此时 flowered.size() m 2 ,flowerbed[m]才是未拓展前的最后一个元素for (int i 1; i m; i ) if (!flowerbed[i] !flowerbed[i - 1] !flowerbed[i 1]) { // 统计中间结点flowerbed[i] 1;cnt ;}return cnt n;} };用最少数量的箭引爆气球 题目链接用最少数量的箭引爆气球 C版AC代码 class Solution { public:int min(int a, int b) {return a b ? b : a;}/* 贪心:维护右端点,如果新加入的元素的左端点当前维护的右端点,res ;同时更新右端点为新加入元素的右端点如果新加入的元素的左端点≤当前维护的右端点,证明可以使用同一根箭引爆新气球则更新一下右端点的值为当前区间的右端点与新加入元素右端点的最小值*/int findMinArrowShots(vectorvectorint points) {sort(points.begin(), points.end()); // 按照左端点进行排序int res 0;long long ed -1e10; for (int i 0; i points.size(); i ) {int l points[i][0], r points[i][1];if (l ed) {res ;ed r;}else ed min(ed, r);}return res;} };划分字母区间 题目链接划分字母区间 C版AC代码 class Solution { public:vectorint partitionLabels(string s) {unordered_mapchar, int last;for (int i 0; i s.size(); i ) last[s[i]] i; // 记录字母最后一次出现的位置vectorint res;for (int i 0; i s.size(); i ) {int r i; // 记录划分区间的最右边for (int j i; j s.size(); j ) {r max(r, last[s[j]]); // 如果当前遍历的字母不是最后一个该字母,更新r为最大值if (j r) { // j 遍历到了划分点,即代表该段的字母不会出现在之后的段res.push_back(r - i 1);i j;break;}}}return res;} };最小数字游戏 题目链接最小数字游戏 C版AC代码 class Solution { public:vectorint numberGame(vectorint nums) {sort(nums.begin(), nums.end());vectorint res;for (int i 0; i nums.size(); i 2 ) {int alice nums[i], bob nums[i 1];res.push_back(bob), res.push_back(alice);}if (res.size() nums.size()) res.push_back(nums[nums.size() - 1]);return res;} };
http://www.pierceye.com/news/84922/

相关文章:

  • 券多多是谁做的网站中国工商网查询入口
  • 网站通栏苏州网站建设建网站
  • 深圳最好的营销网站建设公司wordpress下载面板美化
  • 综合性门户网站有seo咨询顾问
  • 做一个网站链接怎么做家政 东莞网站建设
  • 如何自已建网站简洁大气的公司网站
  • 中国工程建设协会网站网站建设公司目标客户
  • 优化图片大小的网站牟平做网站
  • 雪锐琴网站建设怎么用 c文件做网站
  • 网站建设项目的实训报告网页设计与制作代码软件
  • 点蜜免费空间上传网站仿站工具教程
  • 阜新市建设学校管方网站分销是怎么做的
  • 广州网站运营专注乐云seo合肥酒店团购网站建设
  • 在线咨询网站开发价格临西做网站报价
  • 北仑网站建设29gz企业网站建立网络虚拟社区时对于企业
  • 珠宝类网站建设河北网站制作
  • 免费素材网站素材库图片列表wordpress主题
  • 手机网站 制作教程农产品电子商务网站建设
  • 做现货去哪些网站营销好呢网站风格优势
  • 单位建设网站的目的网络营销的特点主要有
  • 怎么做电影引流网站百度竞价托管外包代运营
  • 山东平台网站建设平台管理网站怎么做的
  • 网站黑色代码海宏集团网站建设方案
  • 展示型装饰网站模板下载wordpress 3清新主题
  • 怎么介绍自己做的网站效果图地产网站建设案例
  • 手工网站做蛋糕盒子接网站开发私活如何签合同
  • 做网站的备案有帮忙做ppt的网站或人吗
  • 重庆中企动力地址上海企业seo
  • 网站搭建哪里找最好it外包企业
  • 运动服装商城网站建设内网网站建设方面政策