阿里 AI 特别的一天:大佬集体现身,灵魂技术人宣布离开
在这些大佬看来,在 AI 日新月异的今天,最能快速适应 AI 的,正是这些十几岁的孩子,所以才特意带着阿里最新的 AI 洞察来跟老师们交流,想让教育先跟上节奏,帮助孩子们从现在开始学会和 AI 共存,适应这个巨大的变革。毫不夸张的说,他是 Qwen 的灵魂,林俊旸的离职,绝对会让 Qwen 开启一个新时代,至于这个时代是好是坏,未来才知道。据阿里内部人员猜测,林俊旸的离开,主要感觉他的一部分的职能
阿里 AI
今天是阿里 AI 特别的一天,倒不是因为发布了什么里程碑式的模型或产品,也不是什么数据又登顶了,而是「阿里大佬们集体现身云谷学校」+「Qwen 负责人宣布离职」。
先说大佬现身。
3 月 3 日,马云来到杭州云谷学校,随行的还包括阿里巴巴集团主席蔡崇信、CEO 吴泳铭、风险委员会主席邵晓锋、电商事业群 CEO 蒋凡,以及蚂蚁集团董事长井贤栋、CEO 韩歆毅。
这次现身云谷,主要是谈 AI + 教育。
用马云的原话来说,他们之所以一起到云谷来,就是想告诉大家,AI 带来的变化会来得非常快,快到我们大家谁都没有做好足够的准备,但教育必须迅速做出改变,而不是等准备好了再改。
在这些大佬看来,在 AI 日新月异的今天,最能快速适应 AI 的,正是这些十几岁的孩子,所以才特意带着阿里最新的 AI 洞察来跟老师们交流,想让教育先跟上节奏,帮助孩子们从现在开始学会和 AI 共存,适应这个巨大的变革。
第二件事,在社会层面上造成的动静,虽然不如这些大佬现身这么大,但对于阿里 AI 的影响,也同样深远。
这件事就是,Qwen 负责人林俊旸,宣布自己将离开 Qwen 团队。
林俊旸出生于 1993 年,2019 年从北京大学语言学与应用语言学硕士毕业后便加入阿里,是 Qwen 的核心缔造者,也是阿里最年轻的 P10 级别的技术负责人。
毫不夸张的说,他是 Qwen 的灵魂,林俊旸的离职,绝对会让 Qwen 开启一个新时代,至于这个时代是好是坏,未来才知道。
道理很简单,其余核心成员一定会跟随,只是多少的问题。
在林俊旸官宣的同一天,Qwen 的后训练负责人郁博文也正式离职。
林俊旸的去处,暂时还没有消息,AI 圈的抢人大战已经开始。
据阿里内部人员猜测,林俊旸的离开,主要感觉他的一部分的职能会被空降的同事架空,但有没有人能完全替代林老师,目前还不清楚。
一方面是大佬们的集体现身,大谈 AI 的未来,一方面是灵魂负责人的突然离职,不知道历史会如何定义今天。
题目描述
平台:LeetCode
题号:478
给定圆的半径和圆心的位置,实现函数 randPoint,在圆中产生均匀随机点。
实现 Solution 类:
-
Solution(double radius, double x_center, double y_center)用圆的半径radius和圆心的位置 初始化对象 -
randPoint()返回圆内的一个随机点,圆周上的一点被认为在圆内,答案作为数组返回
示例 1:
输入:
["Solution","randPoint","randPoint","randPoint"]
[[1.0, 0.0, 0.0], [], [], []]
输出: [null, [-0.02493, -0.38077], [0.82314, 0.38945], [0.36572, 0.17248]]
解释:
Solution solution = new Solution(1.0, 0.0, 0.0);
solution.randPoint ();//返回[-0.02493,-0.38077]
solution.randPoint ();//返回[0.82314,0.38945]
solution.randPoint ();//返回[0.36572,0.17248
提示:
-
-
-
randPoint最多被调用 次
等概率随机采样
为了方便,我们称圆心为 ,半径为 。
对给定圆内的点进行等概率随机采样,容易想到随机化两个信息:一个是距离圆心的距离 len(在范围
中进行随机),另外一个是夹角 ang(在范围
中随机,随便找个参考线即可,例如以往
轴正方向的射线为参考)。
然后根据 len 和 ang 直接计算对应的点的坐标,这样 「可以确保随机出来的点一定在圆内,但并非「等概率」。」
在不考虑夹角的情况下,我们本质是在 范围内随机,这在「一维」上「等概率」是成立的,因为满足「任意连续段中点被抽到的次数与总次数的比例」与「该连续段长度与总长度的比例」。
但在圆中并非如此,不考虑夹角时,「任意连续段 len 与总长度 r 的比例」和「len 对应面积与总面积比例」并不相等。例如 len 有
的概率取到小于等于
的值,而半径为
扫过的面积仅为总面积的
,因此我们的 len 不能直接在
范围内随机,为了消除这种一维转圆导致的「等概率」失效,我们可以从
内随机再开平方,从而确保距离与面积比例一致。
Java 代码:
class Solution {
double r, x, y;
Random random = new Random();
public Solution(double _r, double _x, double _y) {
r = _r; x = _x; y = _y;
}
public double[] randPoint() {
double len = Math.sqrt(random.nextDouble(r * r)), ang = random.nextDouble(2 * Math.PI);
double nx = x + len * Math.cos(ang), ny = y + len * Math.sin(ang);
return new double[]{nx, ny};
}
}
C++ 代码:
class Solution {
public:
double r, x, y;
Solution(double _r, double _x, double _y) {
r = _r; x = _x; y = _y;
}
vector<double> randPoint() {
double a = static_cast<double>(rand()) / RAND_MAX, b = static_cast<double>(rand()) / RAND_MAX;
double len = sqrt(a * r * r);
double ang = b * 2 * M_PI;
double nx = x + len * cos(ang);
double ny = y + len * sin(ang);
return {nx, ny};
}
};
Python 代码:
class Solution:
def __init__(self, r: float, x: float, y: float):
self.r = r
self.x = x
self.y = y
def randPoint(self) -> List[float]:
lenv = math.sqrt(random.random() * self.r * self.r)
ang = random.random() * 2 * math.pi
nx = self.x + lenv * math.cos(ang)
ny = self.y + lenv * math.sin(ang)
return [nx, ny]
TypeScript 代码:
class Solution {
private r: number;
private x: number;
private y: number;
private random: () => number;
constructor(r: number, x: number, y: number) {
this.r = r;
this.x = x;
this.y = y;
this.random = () => Math.random();
}
randPoint(): number[] {
const len = Math.sqrt(this.random() * this.r * this.r);
const ang = this.random() * 2 * Math.PI;
const nx = this.x + len * Math.cos(ang);
const ny = this.y + len * Math.sin(ang);
return [nx, ny];
}
}
-
时间复杂度: -
空间复杂度:
最后
巨划算的 LeetCode 会员优惠通道目前仍可用 ~
使用福利优惠通道 leetcode.cn/premium/?promoChannel=acoier,年度会员 有效期额外增加两个月,季度会员 有效期额外增加两周,更有超大额专属 🧧 和实物 🎁 福利每月发放。
我是宫水三叶,每天都会分享算法知识,并和大家聊聊近期的所见所闻。
欢迎关注,明天见。
更多更全更热门的「笔试/面试」相关资料可访问排版精美的 合集新基地 🎉🎉
更多推荐


所有评论(0)