LeetCode第144场周赛总结
5117.IP地址无效化
首先计算出输入IP地址的长度,然后遍历每一个字符。
如果当前字符为'.',就在它的前后两侧分别加上'['和']'字符。
值得一提的是,C++的String类型提供了以上操作的函数,我们可以直接调用内部函数,使得我们的程序更加简洁,更加清晰明了。
下面给出AC代码:
class Solution {
public:
string defangIPaddr(string address) {
int len = address.size();//直接计算出IP地址的长度
for (int i = 0; i < len; i++)//遍历每一个字符
{
if (address[i] == '.')//如果当前字符为'.'
{
address.insert(i, "[");//在它的前面添加'['字符
address.insert(i + 2, "]");//在它的后面添加']'字符
i = i + 2;//由于添加了2个字符,因此当前位置应该加上2
len = len + 2;//字符串长度也要加上2
}
}
return address;//返回处理好的IP地址
}
};
5118.航班预订统计
设a[i]表示第i个航班预订的座位数。
定义一个差分数组tag[],tag[i]表示第i个航班与第i-1个航班预订座位的差,即tag[i] = a[i] - a[i - 1]。
这样,我们每次扫描到[i, j, k],就只需要将tag[i]增加k,tag[j + 1]减少k即可。
最后,计算a[i] = a[i - 1] + tag[i],返回a即可。
给出代码:
class Solution {
public:
vector<int> corpFlightBookings(vector<vector<int> >& bookings, int n) {
int tag[20003], len = bookings.size();//定义tag数组并计算预订表的长度
vector<int>a(n, 0);//定义一个长度为n且值为0的动态数组
memset(tag, 0, sizeof(tag));//清零tag数组
for (int i = 0; i < len; i++) {//扫描每一个预订记录
tag[bookings[i][0]] += bookings[i][2];//对tag数组进行操作
tag[bookings[i][1] + 1] -= bookings[i][2];
}
for (int i = 0; i < n; i++) {//计算每趟航班预订的座位数
if (i == 0) a[i] = tag[i + 1];
else a[i] = a[i - 1] + tag[i + 1];
}
return a;//直接返回即可
}
};
LeetCode第144场周赛总结的更多相关文章
- LeetCode 第 165 场周赛
LeetCode 第 165 场周赛 5275. 找出井字棋的获胜者 5276. 不浪费原料的汉堡制作方案 5277. 统计全为 1 的正方形子矩阵 5278. 分割回文串 III C 暴力做的,只能 ...
- Leetcode第 217 场周赛(思维量比较大)
Leetcode第 217 场周赛 比赛链接:点这里 做完前两题我就知道今天的竞赛我已经结束了 这场比赛思维量还是比较大的. 1673. 找出最具竞争力的子序列 题目 给你一个整数数组 nums 和一 ...
- Leetcode 第133场周赛解题报告
今天参加了leetcode的周赛,算法比赛,要求速度比较快.有思路就立马启动,不会纠结是否有更好的方法或代码可读性.只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了. 比赛时先看的第二题,一看 ...
- LeetCode第151场周赛(Java)
这是我第一次写周赛的题目,而且还是虚拟的.从这次起,以后就将所有错过的题目都写到博客来.当然既然是我错的,那代码肯定不是我自己的.我会注明来源.并且我会自己敲一遍.多总结总是没坏处的. 另外比较糟糕的 ...
- LeetCode第152场周赛(Java)
这算是我第一次正式参加 LeetCode 的周赛吧.通过两道题.意料之中(通过上次模拟可以看出来).总的来说,脑袋还是不太灵光.想的有点慢.全球第一名 0:10:19 就全部通过...感觉我的智商被狠 ...
- Leetcode 第137场周赛解题报告
今天的比赛的题目相对来说比较「直白」,不像前几周都是一些特定的算法,如果你没学过不可能想出来. 做了这些周,对leetcode比赛的题目也发现了一些「规律」. 一般前两道题都很「简单」,只要有想法,直 ...
- LeetCode 第 150 场周赛
一.拼写单词(LeetCode-1160) 1.1 题目描述 1.2 解题思路 由于给定的chars,每个字母只能用一次,所以用大小为26的数组charsArray来表示a-z(例如charsArra ...
- LeetCode 第 196 场周赛 (题目:5452-5455,这是参加过最坑的周赛,暴力n^2居然可以过)
5452. 判断能否形成等差数列 给你一个数字数组 arr . 如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 . 如果可以重新排列数组形成等差数列,请返回 tru ...
- Leetcode 第136场周赛解题报告
周日的比赛的时候正在外面办事,没有参加.赛后看了下题目,几道题除了表面要考的内容,还是有些能发散扩展的地方. 做题目不是最终目的,通过做题发现知识盲区,去研究学习,才能不断提高. 理论和实际是有关系的 ...
随机推荐
- centos7安装显示中文
系统通过环境变量LANG设置语言格式编码 查看当前语言环境 echo $LANG 查看是否安装中文语言,Linux中通过locale来设置程序运行的不同语言环境 locale -a | grep 'z ...
- centos8 samba
安装dnf install -y samba samba-client开机启动systemctl enable smb立即启动systemctl start smb防火墙放行firewall-cmd ...
- 订阅消息---由于微信小程序取消模板消息,限只能开发订阅消息
订阅消息开发步骤: 1.小程序管理后台添加订阅消息的模板 2.小程序前端编写调用(拉起)订阅授权 wx.requestSubscribeMessage({ tmplIds: ['34fwe1211xx ...
- 安装oracle client及配置
一.下载oracle client 下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/1120 ...
- Alan Walker MV 合辑01 by defender
Alan Walker MV合辑 出来啦! 百度网盘下载地址: 链接:https://pan.baidu.com/s/10WSool70XBe_8tJOae8V-w 提取码:uckq 地址查看 Mi ...
- 关于 RMAN 控制文件自动备份路径中指定的 %F 说明
默认情况下,RMAN备份的属性配置一共 14 行( show all; )来自博客园AskScuti CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVIC ...
- 2018护网杯easy_tornado(SSTI tornado render模板注入)
考点:SSTI注入 原理: tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且 ...
- c# 让接口实现方法
interface IMy { } static class MyFunc { public static void Func<T>(this T obj) where T : IMy { ...
- url跳转问题
window.history.replaceState(null, null, "/callPlanning/1") //替换路径不刷新页面 window.location.rep ...
- 后端——框架——缓存框架——memcached——《Memcached教程》阅读笔记
Memcached的知识点大致可以分为三个部分. 服务器部分:环境搭建. 概念:存储的数据类型,指令,内存的替换策略. 集成:与Java语言的集成. 1.搭建环境 1.1 Linux环境 在Linux ...