竞赛链接:https://leetcode-cn.com/contest/weekly-contest-144/
1.IP地址无效化
给你一个有效的 IPv4 地址 address
,返回这个 IP 地址的无效化版本。
所谓无效化 IP 地址,其实就是用 "[.]"
代替了每个 "."
。
示例 1:
输入:address = "1.1.1.1"
输出:"1[.]1[.]1[.]1"
示例 2:
输入:address = "255.100.50.0"
输出:"255[.]100[.]50[.]0"
提示:
- 给出的
address
是一个有效的 IPv4 地址
思路:
遍历字符串,遇到字符是'.'的元素就先将'['加入数组,再将'.'加入数组,最后将']'加入数组;遇到其他字符正常加入数组即可。
上AC代码:
char * defangIPaddr(char * address){
int len1=strlen(address);
int len2=len1+7;
char *ret=(char *)malloc(len2*sizeof(char));
int cnt=0;
int i;
for(i=0;i<len1;i++)
{
if(address[i]=='.')
{
ret[cnt++]='[';
ret[cnt++]=address[i];
ret[cnt++]=']';
}
else
{
ret[cnt++]=address[i];
}
}
ret[cnt]='\0';
return ret;
}
2.航班预定统计
这里有 n
个航班,它们分别从 1
到 n
进行编号。
我们这儿有一份航班预订表,表中第 i
条预订记录 bookings[i] = [i, j, k]
意味着我们在从 i
到 j
的每个航班上预订了 k
个座位。
请你返回一个长度为 n
的数组 answer
,按航班编号顺序返回每个航班上预订的座位数。
示例: