AI 是真快,年初爆火,年中裁员。
这里说的,就是年初爆火的 AI Agent 产品:Manus。
据最新消息,Manus 将正式把总部迁至新加坡,Manus 在中国区有大约 120 名员工,其中绝大多数员工都会被裁(仅 40 多名核心技术人员会迁往新加坡总部),补偿方案为 N+3 或 2N。
同步的,Manus 还在新加坡当地开启了招聘,岗位包括 AI 工程师、数据科学家和算法工程师等,但人数规模估计不会回到原来水平。
本来 Manus 裁员只是小面积的爆料新闻,直到有媒体上门求证,Manus 确认了此事,表示调整是基于"经营效率考量",这事儿才开始全面传开。
这几年,不少企业为了避免一些不可控的因素,考虑把总部往新加坡搬,这没什么好谈的。
但 Manus 的调整,远不止因为地缘因素,必然还和它的"商业化困境"有关系。
一些数据可以看出大概:2025 年 3 月,Manus 的访问量达到顶峰 2376W,但在 5 月就跌至 1616W,6 月仅小幅回升至 1730W,用户留存率低于常规的互联网应用,也低于同类的 AI Agent 产品。
其实市场对 Manus 冷却,主要因为两点:
在中国,Manus 估计是卷不出名堂了,国际化战略调整,可能是确定性较大的机会。
对此,你怎么看?你体会过 Manus 吗?
对于这家年初被曝邀请码值 10W,如今大规模裁员搬迁的 AI Agent 产品,你的印象如何?欢迎评论区交流。
...
回归主题。
来一道和「字节跳动」的算法题。
平台:LeetCode
题号:672
房间中有 n
只已经打开的灯泡,编号从 1
到 n
。
墙上挂着 4
个开关 ,这 4
个开关各自都具有不同的功能,其中:
2, 4, ...
)1, 3, ...
)j = 3k + 1
的灯的状态,其中 k = 0, 1, 2, ...
(即 1, 4, 7, 10, ...
)你必须 恰好 按压开关 presses
次。每次按压,你都需要从 4
个开关中选出一个来执行按压操作。
给你两个整数 n
和 presses
,执行完所有按压之后,返回 不同可能状态 的数量。
示例 1:
输入:n = 1, presses = 1
输出:2
解释:状态可以是:
- 按压开关 1 ,[关]
- 按压开关 2 ,[开]
示例 2:
输入:n = 2, presses = 1
输出:3
解释:状态可以是:
- 按压开关 1 ,[关, 关]
- 按压开关 2 ,[开, 关]
- 按压开关 3 ,[关, 开]
示例 3:
输入:n = 3, presses = 1
输出:4
解释:状态可以是:
- 按压开关 1 ,[关, 关, 关]
- 按压开关 2 ,[关, 开, 关]
- 按压开关 3 ,[开, 关, 开]
- 按压开关 4 ,[关, 开, 开]
提示:
记灯泡数量为
(至少为
),翻转次数为
(至少为
),使用 1
代表灯亮,使用 0
代表灯灭。
我们根据
和
的数值分情况讨论:
时,无论
为何值,都只有起始(全 1
)一种状态;
时,根据
进一步分情况讨论:
时,若
为满足「
」的最小值
时,能够取满「1
/0
」两种情况,而其余更大
值情况能够使用操作无效化(不影响灯的状态);
时,若
,能够取得「00
/10
/01
」三种状态,当
时,能够取满「11
/10
/01
/00
」四种状态,其余更大
可以通过前
步归结到任一状态,再通过最后一次的操作
归结到任意状态;
时,若
时,对应
种操作可取得
种方案;当
时,可取得
种状态;而当
时可取满
种状态,更大的
值可通过同样的方式归结到取满的
种状态。
时,根据四类操作可知,灯泡每
组一循环(对应序列 k + 1
、2k + 2
、2k + 1
和 3k + 1
),即只需考虑
的情况,而
、
和
时,后引入的灯泡状态均不会产生新的组合(即新引入的灯泡状态由前三个灯泡的状态所唯一确定),因此均可归纳到
的情况。
Java 代码:
class Solution {
public int flipLights(int n, int k) {
if (k == 0) return 1;
if (n == 1) return 2;
else if (n == 2) return k == 1 ? 3 : 4;
else return k == 1 ? 4 : k == 2 ? 7 : 8;
}
}
C++ 代码:
class Solution {
public:
int flipLights(int n, int k) {
if (k == 0) return 1;
if (n == 1) return 2;
else if (n == 2) return (k == 1) ? 3 : 4;
else return (k == 1) ? 4 : (k == 2) ? 7 : 8;
}
};
Python 代码:
class Solution:
def flipLights(self, n: int, k: int) -> int:
if k == 0:
return1
if n == 1:
return2
elif n == 2:
return3if k == 1else4
else:
return4if k == 1else7if k == 2else8
TypeScript 代码:
function flipLights(n: number, k: number): number {
if (k == 0) return 1
if (n == 1) return 2
else if (n == 2) return k == 1 ? 3 : 4;
else return k == 1 ? 4 : k == 2 ? 7 : 8;
};
巨划算的 LeetCode 会员优惠通道目前仍可用 ~
使用福利优惠通道 leetcode.cn/premium/?promoChannel=acoier,年度会员 有效期额外增加两个月,季度会员 有效期额外增加两周,更有超大额专属 🧧 和实物 🎁 福利每月发放。
我是宫水三叶,每天都会分享算法知识,并和大家聊聊近期的所见所闻。
欢迎关注,明天见。