当前位置: 首页 > news >正文

加班的员工,循环的电池

宁德时代回应"896"

6月17日,宁德时代因内部宣告「实行 895 工作制,大干 100 天,外籍人员不强制」冲上热搜,虽后来辟谣 只是发出号召,并无强制员工实行"895"工作制,但舆论并无消退。

昨天(6月25日)在夏季达沃斯论坛现场,宁德时代董事长兼 CEO 曾毓群再次回应此事,强调道:"奋斗一百天,就是号召大家去练好基本功,我们并没有强迫大家。"

但与此同时,曾毓群还在会议上举例:"其他人做出的电池是无法被循环的,价格可能是一块钱,我做出来的电池是 5000 个循环,我是一块五毛钱,所以从价值的角度,平均下来我们是最有价值的。"

emmmm ...

两段话分开看都没什么问题,凑在了一起,总有种自己被暗讽为那个"循环电池"的意味。

相差不远的行业薪资水平,但要却"被鼓舞"执行"895"工作制,是否像极了那个只贵 5 毛,但却能循环 5000 遍的 🔋。

宁德时代作为曾经的"新能源时代的茅台",希望其对于产品性价比的理解不要下放到对员工待遇上。

对此,你怎么看?

...

回归主线。

来一道简简单单周三题。

题目描述

平台:LeetCode

题号:593

给定 2D 空间中四个点的坐标 abc 和 d,如果这四个点构成一个正方形,则返回 true

点的坐标表示为 ,输入不是按任何顺序给出的。

一个有效的正方形有四条等边和四个等角(90度角)。

示例 1:

输入: a = [0,0], b = [1,1], c = [1,0], d = [0,1]

输出: True

示例 2:

输入:a = [0,0], b = [1,1], c = [1,0], d = [0,12]

输出:false

示例 3:

输入:a = [1,0], b = [-1,0], c = [0,1], d = [0,-1]

输出:true

提示:

计算几何

根据题意进行模拟即可。

从给定的 4 个顶点中选 3 个顶点,检查其能否形成「直角三角形」,同时保存下来首个直角三角形的直角边边长,供后续其余直角三角形进行对比(注意不能共点,即直角边长不能为 0)。

Java 代码:

class Solution {
    long len = -1;
    public boolean validSquare(int[] a, int[] b, int[] c, int[] d) {
        return calc(a, b, c) && calc(a, b, d) && calc(a, c, d) && calc(b, c, d);
    }
    boolean calc(int[] a, int[] b, int[] c) {
        long l1 = (a[0] - b[0]) * (a[0] - b[0]) + (a[1] - b[1]) * (a[1] - b[1]);
        long l2 = (a[0] - c[0]) * (a[0] - c[0]) + (a[1] - c[1]) * (a[1] - c[1]);
        long l3 = (b[0] - c[0]) * (b[0] - c[0]) + (b[1] - c[1]) * (b[1] - c[1]);
        boolean ok = (l1 == l2 && l1 + l2 == l3) || (l1 == l3 && l1 + l3 == l2) || (l2 == l3 && l2 + l3 == l1);
        if (!ok) return false;
        if (len == -1) len = Math.min(l1, l2);
        else if (len == 0 || len != Math.min(l1, l2)) return false;
        return true;
    }
}

C++ 代码:

class Solution {
public:
    long len = -1;
    bool validSquare(vector<int>& a, vector<int>& b, vector<int>& c, vector<int>& d) {
        return calc(a, b, c) && calc(a, b, d) && calc(a, c, d) && calc(b, c, d);
    }
    bool calc(vector<int>& a, vector<int>& b, vector<int>& c) {
        long l1 = (a[0] - b[0]) * (a[0] - b[0]) + (a[1] - b[1]) * (a[1] - b[1]);
        long l2 = (a[0] - c[0]) * (a[0] - c[0]) + (a[1] - c[1]) * (a[1] - c[1]);
        long l3 = (b[0] - c[0]) * (b[0] - c[0]) + (b[1] - c[1]) * (b[1] - c[1]);
        bool ok = (l1 == l2 && l1 + l2 == l3) || (l1 == l3 && l1 + l3 == l2) || (l2 == l3 && l2 + l3 == l1);
        if (!ok) return false;
        if (len == -1) len = min(l1, l2);
        else if (len == 0 || len != min(l1, l2)) return false;
        return true;
    }
};

Python 代码:

class Solution:
    def validSquare(self, a: list, b: list, c: list, d: list) -> bool:
        length = -1
        def calc(a, b, c):
            nonlocal length
            l1 = (a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2
            l2 = (a[0] - c[0]) ** 2 + (a[1] - c[1]) ** 2
            l3 = (b[0] - c[0]) ** 2 + (b[1] - c[1]) ** 2
            ok = (l1 == l2 and l1 + l2 == l3) or (l1 == l3 and l1 + l3 == l2) or (l2 == l3 and l2 + l3 == l1)
            if not ok: return False
            if length == -1: length = min(l1, l2)
            elif length == 0 or length != min(l1, l2): return False
            return True
        return calc(a, b, c) and calc(a, b, d) and calc(a, c, d) and calc(b, c, d)

TypeScript 代码:

let len = -1
function validSquare(a: number[], b: number[], c: number[], d: number[]): boolean {
    len = -1
    return calc(a, b, c) && calc(a, b, d) && calc(a, c, d) && calc(b, c, d)
};
function calc(a: number[], b: number[], c: number[]): boolean {
    const l1 = (a[0] - b[0]) * (a[0] - b[0]) + (a[1] - b[1]) * (a[1] - b[1])
    const l2 = (a[0] - c[0]) * (a[0] - c[0]) + (a[1] - c[1]) * (a[1] - c[1])
    const l3 = (b[0] - c[0]) * (b[0] - c[0]) + (b[1] - c[1]) * (b[1] - c[1])
    const ok = (l1 == l2 && l1 + l2 == l3) || (l1 == l3 && l1 + l3 == l2) || (l2 == l3 && l2 + l3 == l1)
    if (!ok) return false
    if (len == -1) len = Math.min(l1, l2)
    else if (len == 0 || len != Math.min(l1, l2)) return false
    return true
}
  • 时间复杂度:
  • 空间复杂度:

最后

巨划算的 LeetCode 会员优惠通道目前仍可用 ~

使用福利优惠通道 leetcode.cn/premium/?promoChannel=acoier,年度会员 有效期额外增加两个月,季度会员 有效期额外增加两周,更有超大额专属 🧧 和实物 🎁 福利每月发放。

我是宫水三叶,每天都会分享算法知识,并和大家聊聊近期的所见所闻

欢迎关注,明天见。

http://www.lryc.cn/news/383878.html

相关文章:

  • windows安装Nacos并使用
  • 准备篇(三)网页相关知识
  • 基于SSM的医药垃圾分类管理系统
  • web 应用防火墙的作用是什么
  • 搜索框回车刷新表格(解决搜索框回车刷新页面问题)
  • 洞察用户需求,Xinstall数据统计App让你的App运营如虎添翼
  • 如何正确的报考志愿
  • go的reflect实战
  • 【学习】常用的分类网络
  • 3. 向索引库中导入数据
  • java-冒泡排序 2
  • 记一次面试
  • Linux提升篇-正则表达式
  • 专利、论文免费检索
  • 【Qt】QSettings使用
  • Js逆向爬虫基础篇
  • 同步时钟系统为何能成为机场时间管理的好伙伴?
  • Robust semi-supervised segmentationwith timestep ensembling diffusion models
  • 如何迁移R包
  • 如何在next14项目中加入favicon
  • 【深度学习】基础数据结构+访问
  • 一个产品需求工程师繁忙的一天
  • MD5加密接口
  • AI大模型日报#0626:首款大模型芯片挑战英伟达、面壁智能李大海专访、大模型测试题爆火LeCun点赞
  • 专业技能篇---计算机网络
  • Matlab|【免费】含氢气氨气综合能源系统优化调度
  • python的一些常用的内建函数
  • Docker部署常见应用之Oracle数据库
  • 小程序中echarts的bug
  • 项目验收测试有必要找第三方软件测试机构吗?