加班的员工,循环的电池

宁德时代回应"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.mzph.cn/diannao/35689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上古世纪台服怎么注册账号 上古世纪台服怎么下载游戏教程

6月27日&#xff0c;上古世纪战争台服新服公测&#xff0c;一款由虚幻4引擎打造的mmorpg游戏&#xff0c;画面还是非常精美的&#xff0c;并且游戏玩起来也比较轻松&#xff0c;自动战斗&#xff0c;自动寻路这些功能都有。游戏的新玩法主要是海战&#xff0c;驾驶舰船在海上作…

Redis数据结构:深入解析跳跃表(Skiplist)

感谢您阅读本文&#xff0c;欢迎“一键三连”。作者定会不负众望&#xff0c;按时按量创作出更优质的内容。 ❤️ 1. 毕业设计专栏&#xff0c;毕业季咱们不慌&#xff0c;上千款毕业设计等你来选。 引言 Redis是一款广泛使用的内存数据结构存储系统&#xff0c;支持多种数据结…

Java医院绩效考核系统源码 :3分钟带你了解(医院绩效考核系统有哪些应用场景)三级公立医院绩效考核系统源码

Java医院绩效考核系统源码 &#xff1a;3分钟带你了解&#xff08;医院绩效考核系统有哪些应用场景&#xff09;三级公立医院绩效考核系统源码 作为医院用综合绩效核算系统&#xff0c;系统需要和his系统进行对接&#xff0c;按照设定周期&#xff0c;从his系统获取医院科室和…

可持续性是 Elastic: 进步与新机遇的一年

作者&#xff1a;来自 Elastic Keith Littlejohns 我们最新的可持续发展报告&#xff08;Sustainability Report&#xff09;总结了 Elastic 又一个令人兴奋的进步年&#xff0c;我们的项目继续揭示新的机遇。过去的一年对于我们与主要利益相关者群体合作以更好地了解他们的目标…

[解决方案]使用微软拼音打中文卡顿到离谱

去这里看&#xff0c;发现有65535个文件&#xff0c;基本都是临时文件。删除后测试了一下&#xff0c;不会卡顿了但是只要打中文还是会疯狂生成tmp临时文件。 问题&#xff1a;输入法不兼容 解决方案 先把上面那个文件夹里的tmp文件全删了 直接点是&#xff0c;其他的文件会…

【ajax实战02】数据管理网站—验证码登录

一&#xff1a;数据提交&#xff08;提交手机验证码&#xff09; 核心思路整理 利用form-serialize插件&#xff0c;收集对象形式的表单数据后&#xff0c;一并提交给服务器。后得到返回值&#xff0c;进一步操作 基地址&#xff1a; axios.defaults.baseURL http://geek.…

制作一个智能体:抖音热点话题文案制作助手

文章目录 第一步&#xff0c;添加助手第二步&#xff0c;选择语聚GPT第三步&#xff0c;填写相关信息第四步&#xff0c;工具中选择抖音(普通号)第五步&#xff0c;选择“查询热门视频数据”第六步&#xff0c;测试总结 这篇文章&#xff0c;我们手把手的演示开发一个智能体&am…

Dxf库中的DL_Codes类

在 DXF 文件格式中&#xff0c;DL_Codes 通常是一个用于表示不同类型数据的枚举类或常量集合。这些代码用于标识 DXF 文件中各种数据元素的类型&#xff0c;例如实体类型、属性类型、颜色值等。通过使用 DL_Codes&#xff0c;您可以更轻松地解析和处理 DXF 文件中的数据。 以下…

leetcode119 杨辉三角②

给定一个非负索引 rowIndex&#xff0c;返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex 3 输出: [1,3,3,1]示例 2: 输入: rowIndex 0 输出: [1]示例 3: 输入: rowIndex 1 输出: [1,1] pub…

宠物空气净化器热卖爆款,希喂、小米、352猫用空气净化器真实PK

相信大漫天多数养猫家庭都会有一个烦恼&#xff1a;猫咪们的猫实在是太多了&#xff0c;无法忍受家里面漫天飞舞的浮毛和难闻的猫猫便臭。作为养猫多年的过来人我尝试过很多种方法清理这些猫浮毛和异味&#xff0c;但都以失败告终。 直到后面看到一个宠物博主推荐的宠物空气净…

ffmpeg截取视频

用格式工厂截取视频不知道为啥还是原长度&#xff0c;不过只能播放截取的部分&#xff0c;其他部分不能播放&#xff0c;但是总时长不对就不想用了。 参考 https://blog.csdn.net/m0_60259116/article/details/127017324https://cloud.tencent.com/developer/article/2410818ht…

tensorrt动态batch推理注意事项

一、背景&#xff1a;使用pytorch进行训练得到pt模型&#xff0c; 然后使用torch.onnx把pt模型转化为onnx模型。然后再使用tensorrt自带的trtexec.exe文件把onnx模型转化为engine文件。 &#xff08;1&#xff09;在使用C进行推理的时候发现一个batch的数据&#xff0c;值推理…

筛斗数据:数据提取技术,让数据说话的力量

在当今这个信息爆炸的时代&#xff0c;数据已经渗透到我们生活的方方面面。从商业决策到科学研究&#xff0c;从社会治理到个人生活&#xff0c;数据都扮演着至关重要的角色。而要让这些数据真正发挥其价值&#xff0c;就需要依赖数据提取技术&#xff0c;让数据“开口说话”&a…

环路滤波器

块效应产生的原因 块效应指视频边界不连续的变化,我们在观看视频的时候,在运动剧烈的场景常能观察到图像出现小方块,小方块在边界处呈现不连续的效果(如下图),这种现象被称为块效应(blocking artifact)。 造成这种现象的主要原因有两点: DCT量化误差导致运动补偿导致…

深入理解Java多线程中的 wait() 和 notify():为何要与 synchronized 手牵手

在Java中&#xff0c;wait、notify方法通常与synchronized关键字一起使用&#xff0c;这样做有几个重要的原因&#xff0c;主要涉及线程的协调和正确的并发控制。以下是一些关键点&#xff1a; 监视器锁&#xff08;Monitor Lock&#xff09;&#xff1a; 每个对象在Java中都可…

二叉树 遍历迭代法

二叉树 遍历迭代法 Leetcode 94 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), rig…

一个产品需求工程师繁忙的一天

早晨&#xff1a;开启新的一天 7:00 AM - 起床 早晨七点准时起床。洗漱、早餐后&#xff0c;查看手机上的邮件和消息&#xff0c;提前了解今天的工作安排和优先事项。 8:00 AM - 前往公司 坐地铁前往公司。在地铁上&#xff0c;习惯性地阅读一些行业资讯和市场报告&#xff0…

使用SpringBoot整合Servlet

一、SpringBoot和Servlet的整合 1、用注解WebServlet配置Servlet映射 创建一个SpringBoot的web工程&#xff0c;在工程用创建一个Servlet 2、在SpringBoot的启动类上加注解ServletComponentScan 二、额外的方式 1、不使用WebServlet配置Servlet映射 创建一个SpringBoot工…

RabbitMQ延时队列(实现定时任务)

消息的TTL(Time To Live)就是消息的存活时间。 RabbitMQ可以对队列和消息分别设置TTL。 对队列设置存活时间&#xff0c;就是队列没有消费者连着的保留时间。 对每一个单独的消息单独的设置存活时间。超过了这个时间&#xff0c;我们认为这个消息就死了&#xff0c;称之为死…

代码随想录算法训练营:19/60

非科班学习算法day19 | LeetCode530:二叉搜索树的最小绝对差 &#xff0c;Leetcode501:二叉搜索树的众数 &#xff0c;Leetcode236:二叉树的最近公共祖先 目录 介绍 一、LeetCode题目 1.LeetCode530:二叉搜索树的最小绝对差 题目解析 2.Leetcode501: 二叉搜索树的众数 …