1360.日期之间隔几天
题目链接

static const auto io_speed_up = [](){ios::sync_with_stdio(false);cin.tie(0);return 0;
}();
class Solution {public:int nleap[13]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int nsum[13]={0};int leap[13]={0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int sum[13]={0};inline bool isleap(int p){return (p%4==0&&p%100!=0)||(p%400)==0;}inline int lecnt(int p){return p/4-p/100 +p/400+1;}int days(int y, int m, int d){int dy = y*365 + (y?lecnt(y-1):0);int dm = isleap(y)?sum[m-1]:nsum[m-1];return dy+dm+d;}int daysBetweenDates(string date1, string date2) {for(int i = 1; i < 13; i++)nsum[i]=nsum[i-1]+nleap[i];for(int i = 1; i < 13; i++)sum[i]=sum[i-1]+leap[i];int y1 = stoi(string(date1.begin(),date1.begin()+4));int y2 = stoi(string(date2.begin(),date2.begin()+4));int m1 = stoi(string(date1.begin()+5, date1.begin()+7));int m2 = stoi(string(date2.begin()+5, date2.begin()+7));int d1 = stoi(string(date1.begin()+8, date1.begin()+10));int d2 = stoi(string(date2.begin()+8, date2.begin()+10));return abs(days(y1,m1,d1)-days(y2, m2, d2));}
};

1361.验证二叉树

题目链接
听说这个题标算错了,直接判入度为零点的个数和入度为1点的个数就能过,可以考虑一个孤立点+若干个环的情况。
正儿八经把根搜出来,然后搜一下那棵树,判定树的同时判定整张图是否连通。

static const auto io_speed_up = [](){ios::sync_with_stdio(false);cin.tie(0);return 0;
}();
class Solution {public:deque<int>mq;bool validateBinaryTreeNodes(int n, vector<int>& leftChild, vector<int>& rightChild) {int *vis = new int[n]();bool *is = new bool[n]();for(int i = 0;i< n;i++){if(~leftChild[i])vis[leftChild[i]]++;if(~rightChild[i])vis[rightChild[i]]++;}int root = 0,cnt = 0;for(int i = 0; i < n ;i++){if(!vis[i]){root = i;break;}}if(root == n)return false;mq.emplace_back(root);while(!mq.empty()){int nw = mq.front();mq.pop_front();if(nw==-1)continue;if(is[nw])return false;is[nw]=1;cnt++;mq.emplace_back(leftChild[nw]);mq.emplace_back(rightChild[nw]);}if(cnt == n)return true;return false;}
};
  1. 最接近的因数

题目链接

static const auto io_speed_up = [](){ios::sync_with_stdio(false);cin.tie(0);return 0;
}();
class Solution {public:vector<int> closestDivisors(int num) {int l,r;l = r = round(sqrt(num+1));for(int i = l;i>0;i--){if((num+1)%i==0)return {i,(num+1)/i};if((num+2)%i==0)return {i,(num+2)/i};}return {0};}
};
  1. 形成三的最大倍数

题目链接
先填满,再去掉

static const auto io_speed_up = [](){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);return 0;
}();
class Solution {public:string largestMultipleOfThree(vector<int>& digits) {int *buc = new int[10]();for(int p : digits){buc[p]++;}int sum = 0;for(int i = 0;i<10;i++)sum += buc[i]*i;if(sum % 3 ==2){int p = 1;for(int i = 2;i < 10&&p;i+=3){if(buc[i]){buc[i]--;p--;}}if(p++)for(int i = 1;i < 10&&p;i+=3){while(buc[i]&&p){buc[i]--;p--;}}}else if(sum %3 == 1){int p = 1;for(int i = 1;i < 10&&p;i+=3){if(buc[i]){buc[i]--;p--;}}if(p++)for(int i = 2;i < 10&&p;i+=3){while(buc[i]&&p){buc[i]--;p--;}}}if(buc[0]==digits.size())return "0";string ans = "";for(int i = 9; i >= 0; i--){ans += string(buc[i], i + '0');}return ans;}
};

[LeetCode 1360~1363][周赛]周赛177题解相关推荐

  1. LeetCode第 227 场周赛题解

    LeetCode第 227 场周赛题解 检查数组是否经排序和轮转得到 原题链接 https://leetcode-cn.com/problems/check-if-array-is-sorted-an ...

  2. LeetCode 第 194 场周赛

    LeetCode 第 194 场周赛 数组异或操作 思路和代码 保证文件名唯一 思路及代码 避免洪水泛滥 思路及代码 找到最小生成树里的关键边和伪关键边 思路及代码 这次周赛比以往难很多. 数组异或操 ...

  3. 力扣周赛310场题解

    力扣周赛310场题解 前言 6176. 出现最频繁的偶数元素 6177. 子字符串的最优划分 前言 今天参加了力扣的第310场周赛,也是感觉到了这周的题的一个难度,有些题有想法,但是实际上让我去写的时 ...

  4. LeetCode第187场周赛(Weekly Contest 187)解题报告

    差点又要掉分了,还好最后几分钟的时候,绝杀 AK.干巴爹!!! 第一题:思路 + 模拟暴力. 第二题:线性扫描. 第三题:双指针(滑动窗口) + 优先队列. 第四题:暴力每一行最小 k 个 + 优先队 ...

  5. LeetCode第176场周赛(Weekly Contest 176)解题报告

    又是一周掉分之旅,我发现,LeetCode周赛的数据好水,所以有的时候,实在没思路,先暴力解决试试(即使分析出时间复杂度会超时),比如第二题和第三题都可以暴力通过,GG思密达. 这周主要使用了数据结构 ...

  6. 2018年暑假第四次周赛-图论部分题解

    2018年暑假第四次周赛-图论部分题解 A.信我啊,这是签到题 这题是签到题 数据出锅,多组后来补的,后来直接删除了一整个文本.纯属意外. 出签到题难啊,本意是一道题教会17一个模型的.说没学过不该出 ...

  7. Acwing第72场周赛+Leetcode第314场周赛

    Acwing第72场周赛 第一题:AcWing 4624. 最小值 分析:向下取整可以用到math.h头文件中的floor()函数,最后输出时套用两个min()函数求三个数的最小值即可. 代码: #i ...

  8. CSDN 周赛37期题解

    CSDN 周赛37期题解 1.题目名称:幼稚班作业 2.题目名称:异或和 3.题目名称:大整数替换数位 4.题目名称:莫名其妙的键盘 卡个bug 小结 1.题目名称:幼稚班作业 幼稚园终于又有新的作业 ...

  9. Leetcode第 310 场周赛 补打

    Leetcode 第310场周赛 自己赛后打了一下,记录了一下时间,大概15min A 3题,第四题是写不出来,然后学习了一天线段树(真的强). 思路: 1.排序后统计偶数的数目 2.遍历扫一遍,用直 ...

  10. 记LeetCode第143次周赛(Weekly Contest 143)

    上午打完LeetCode第143次周赛,发现很多不常用的知识点都比较生涩了,最后一个半小时也只ac了前两题.这一次的题目相对以往还是比较简单吧,但奈何就是迟迟没有在代码上有较满意的实现.学习果然是不进 ...

最新文章

  1. java程序讲解_3、Java程序讲解
  2. Android Listview 性能优化
  3. [转]JS部分通用函数
  4. 【译文】用Spring Cloud和Docker搭建微服务平台
  5. uva 10098 Generating Fast(全排列)
  6. pytorch入门——线性回归
  7. 随笔小杂记(一)——更改整个文件夹内的命名
  8. 编程之美 1.4买书问题常数时间空间解法
  9. C#毕业设计——基于C#+asp.net+sqlserver的网上书店系统设计与实现(毕业论文+程序源码)——网上书店系统
  10. msfconsole漏洞扫描工具详解
  11. netty系列之:HashedWheelTimer一种定时器的高效实现
  12. Elasticsearch入门----terms聚合实现搜索热词统计
  13. 基于javaEE的超市库存管理系统
  14. 利用Sharepoint里面Mysite的Shared Pictures的图片做相册 [包括创建文件夹,上传文件]...
  15. 资深大牛带你了解源码!带你轻松理解Android-Hook机制,已开源
  16. 港大计算机学院副院长,中科院许榕生教授、香港大学邹锦沛博士等一行访问我校...
  17. 华为鸿蒙文件管理器通用版,华为文件管理器官方下载_华为文件管理器最新版下载v10.6.2.300 - 数码资源网...
  18. 简易个人网站的搭建--基础准备工作(一)
  19. 安卓开发之 在应用中使用数据库
  20. 局域网计算机配置扫描系统,fly42局域网计算机配置检测系统

热门文章

  1. java随机生成中文名、性别、手机号、住址、email
  2. 国内国外常用外包平台大全汇总!
  3. 苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)
  4. 对应阻尼下的开环增益matlab,初识控制系统计算机仿真和辅助设计
  5. Windows Phone 7 日历应用的实现
  6. 安卓zip解压软件_破解软件之“安卓压缩包zip或rar密码破解(116位数任意破)”...
  7. 【服务器数据恢复】服务器raid5磁盘阵列分区丢失的数据恢复案例
  8. CentOS 5.5 安装 Python 2.7_老范的空间_百度空间
  9. python绘制人物关系图,Python来袭,教你用Neo4j构建“复联4”人物关系图谱!
  10. Windows + Linux 双系统 卸载 Liunx