目标
- 从字符串中删除字符
昨天,我感觉误解了题意,应是删除 s1 中匹配 s2 的字符串。如 s1 = “gagohgowfa”,s2 = “go”,删除后 s1 = “gahwfa”。
void squeeze(char s1[], char s2[]) {
int i, j;
for (i = 0; s1[i] != '\0'; i++) {
int k;
for (j = 0, k = i; s1[k] == s2[j] && s1[k] != '\0';k++, j++) {}
// 全部匹配,j > 0 是防止 s2 = "",那么即使不匹配,s2[j] 也等于 '\0'
if (j > 0 && s2[j] == '\0') {
int m;
int d = k - i;
for (m = i; s1[m+d] != '\0'; m++) {
s1[m] = s1[m+d];
}
s1[m] = '\0';
}
}
}
-
获取字符串 s2 在 s1 中的开始索引、结束索引 [i, k)。
每匹配一个字符,j++,k++。
-
若不是全部匹配(s2[j] != ‘\0’),则 i++,重复上一步。
-
若是全部匹配,则删除 [i, k) 范围内的元素。也就是将索引为 [k, length) 的元素统一前移 k - i 位。
m ∈ [i, length - (k-i)),m+(k-i) ∈ [k, length)。
今天思绪挺乱,在1顷铁皮厂房中转去转来,根据包装工需要的样品到处找货物,始终没有找到,心里十分愧疚,作为半成品/仓管员/文员,我明显不合格。我的任务是将万千种类的货物分类排放,并统计数量,但看着海茫茫的一片货物,塞满了所有地方,叉车也难以通过。时不时有包装工用剩的、刚刚机器新生产的产品,堆放在某处。我该清吗?又该放到哪里,没有谱。
她们说大学生不应做这个,我说我找不到工作。挺意外的,按我以往的经验,一旦被人知道是大学生,又没有干好活,飘过 “哟,还大学生呢!读的是慕斯东西?” 类似这样的话,我倒是不介意,就怕给大学生群体抹黑,误以为都是我这样的。
我不知道做什么,茫然。阿姨安排任务,我挺高兴能帮上她的忙,可是我那个叉车推半天推不进去,系绳子半天系不好,奈何手笨,我还想再尝试下,但时间占用太久,还是阿姨替我做了,我就在旁看着,手停滞在半空仿佛多余,又不甘心缩回去,不知所措。
也难怪第一份工作时,有人说我是个 “伢”、“小孩”,就像以前,老师在上面讲,布置任务,我就完成;没有布置没有人带,我就发呆,不知道做什么。这个行为模式在厂房里不适用,物业也是一样,总有师傅不在的时候,那时我该何去何从呢?
这两天就是搬来搬去,感觉没有帮上什么忙,拿这个钱亏心,我打算明天辞了,换一家厂。如果在 25 岁之前,行为模式没有更改或没有找到契合我的厂,就不考虑流水线了。有人也许会说种田,但凡家里三块田可以养活一家人,我们一家三口就不会出去打工了,家乡不好吗?
我还想坚持下,也许几年后有转机。若真如网友所说,今年是十年内最好的一年,我直接开摆,还有什么过头?我孜然一身,也不追求物质,没必要用命与时间换钱了。
最后注意防暑,本人感觉快晕了,太热了,一口喝半瓶,还没尿意,感觉五脏六腑燃起来了。
又梦见倩影在身边围绕,原来杨间的记忆是虚假的,与 “三圣母” 表妹前往真正的祖地,并揭开身世。剧情忘了。我挺喜欢她的,可惜最近作者摆烂了,希望有些高潮吧。