加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Sunday.c 992 Bytes
一键复制 编辑 原始数据 按行查看 历史
yingquelou 提交于 2021-08-06 09:39 . 0806
#include <stdio.h>
#include <string.h>
int Sunday(char *s, int Ls, char *t, int Lt);
int main(void)
{ // 11100100 10111101 10100000
//unicode 你 100111101100000 (4f60)
char t[] = u8"你",
s[] = u8"你好";
printf("%d\n", Sunday(s, strlen(s), t, strlen(t)));
return 0;
}
int Sunday(char *s, int Ls, char *t, int Lt)
{
int si = 0, ti = 0;
if (Ls <= 0 || Lt <= 0 || Ls < Lt)
return -1;
while (si < Ls)
{
while (ti < Lt && t[ti] == s[si])
{
ti++;
si++;
}
if (ti == Lt)
return si - ti;
else
{
si += Lt - ti;
ti = 0;
while (ti < Lt && s[si] != t[ti])
ti++;
if (ti == Lt)
{
si++;
ti = 0;
}
else
{
ti++;
si++;
}
}
}
if (si >= Ls)
return -1;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化