平地惊雷,GPT-4o 凌晨震撼发布

GPT-4o

今日凌晨,OpenAI 2024 年春季发布会召开,OpenAI 通过短短 28 分钟的发布会,发布了「再次震惊世界」的 GPT-4o,其中 o 是指 omni(全能)的意思。

一款「全新交互(支持 文本/音频/视频 组合作为输入输出)」的、「快速(响应速度为 GTP-4 Turbo 的 2倍)」的、「能感受人类情感」的、「免费」的模型。

为什么是今天?

因为明天(5 月 15 号)就是 Google 的 I/0 大会,网传 Google 打算在会上公布大模型的最新进展:以 Gemini 为基础,名为 Pixie 的个人助手。

这下好了,Google 的关注度必然下降。

其实 OpenAI 对 Google 的狙击,不是第一次发生了。

早在 2023 年 12 月,谷歌计划上线 Gemini 时,OpenAI 便在 11 月抢先举办了首届开发者大会。

有过"被狙击"经验的 Google 这次没有光愣着,抓紧在官号中放出 Demo 的实时演示视频:

alt

但和 GPT-4o 相比,估计够呛,正如该帖子下的一位外国网友的留言:

Sorry Google but we got it one day earlier(对不起谷歌,但我们一天前已经得到这个了)

更加值得期待的是,在该发布会的前一天,Apple 和 OpenAI 的合作已宣布达成。

虽然合作方式尚未公布,但大概率发生的事应该是:OpenAI 的技术将会在这一次的苹果新品中集中亮相。

现在我们可以一同期待,这位像个真实人类一样,可以被随意打断,可以通过语气猜测用户情绪,支持端到端运行,使用体验和功能都无比强大的 GPT-4o 成为我们的新 Siri 了。

我不想再强调有多少技术或者岗位会被革命,千言万语的描述汇聚成一个单词:her。

alt

这也是 OpenAI 创始人、CEO 山姆·奥特曼在发布会后,发的帖子内容。

意在致敬在 2014 年获得奥斯卡最佳原创剧本的电影《Her》,由 斯派克·琼斯 执导和编剧的科幻爱情电影,讲述了一个孤独的男人和一个人工智能操作系统之间的不寻常的恋情。

...

回归主线。

来一道和「Apple」相关的算法题。

题目描述

平台:LeetCode

题号:754

在一根无限长的数轴上,你站在 0 的位置。终点在 target 的位置。

你可以做一些数量的移动 numMoves :

  • 每次你可以选择向左或向右移动。
  • i 次移动(从   i == 1 开始,到  i == numMoves),在选择的方向上走 i 步。

给定整数 target,返回 到达目标所需的 最小 移动次数(即最小 numMoves ) 。

示例 1:

输入: target = 2

输出: 3

解释:
第一次移动,从 0 到 1 。
第二次移动,从 1 到 -1 。
第三次移动,从 -1 到 2 。

示例 2:

输入: target = 3

输出: 2

解释:
第一次移动,从 0 到 1 。
第二次移动,从 1 到 3 。

提示:

数学

提示一:数轴上的任意点都以起点( 点)对称,只需要考虑对称点的任意一边

由于题目没有限制我们「不能到达哪些点」以及「出发的起始方向」,因此以起点为中心的左右两边对称。

即:左边所能到达任意一个点,都能通过调整所达路径的方向来将终点调整到右边。

同时由于起点是一个特殊的位置 点,因此相应的「正数点」和「负数点」对称,我们仅需考虑一边(例如正数域)即可。

提示二:先往靠近 target 的方向移动,到达或越过 target 的时候则停止

只考虑 target 为正的情况,我们假定起始先往靠近 target 的方向移动(即所有步数均为正值),根据是「到达」还是「越过」target 位置分情况讨论:

  • 若能直接到达 target,此时消耗的必然是最小步数,可直接返回;
  • 若越过了 target,假设此时消耗的步数为 ,所走的距离为 ,我们可以考虑是否需要增加额外步数来到达 target
提示三:越过 target 时,如何不引入额外步数

若不引入额外步数,意味着我们需要将此前某些移动的方向进行翻转,使得调整后的

我们假设需要调整的步数总和为 tot,则有 ,变形可得

若想满足上述性质,需要确保能找到这样的 tot,即 tot 合法,

不难推导出当 disttarget 差值为「偶数」时(两者奇偶性相同),我们可以找到这样的 tot,从而实现不引入额外步数来到达 target 位置。

由于我们的 是由数列 累加而来,因此必然能够在该数列 中通过「不重复选择某些数」来凑成任意一个小于等于 的数。

提示四:越过 target 时,如何尽量减少引入额外步数

disttarget 差值不为「偶数」时,我们只能通过引入额外步数(继续往右走)来使得,两者差值为偶数。

可以证明,最多引入步数不超过 步,可使用得两者奇偶性相同,即不超过 步可以覆盖到「奇数」和「偶数」两种情况。

根据 的余数关系分情况讨论:

  • 余数为 ,即 ,由于 ,其中一数为偶数, 为偶数;
  • 余数为 ,即 ,由于 ,两个奇数相乘为奇数, 为奇数;
  • 余数为 ,即 ,两个奇数相乘为奇数, 为奇数;
  • 余数为 ,即 ,其中一数为偶数, 为偶数。

因此在越过 target 后,最多引入不超过 步可使得 disttarget 奇偶性相同。

提示五:如何不通过「遍历」或「二分」的方式找到一个合适的 k 值,再通过不超过 步的调整找到答案

我们期望找到一个合适的 k 值,使得 ,随后通过增加 k 值来找到答案。

利用求和公式 ,我们可以设定 为起始值,随后逐步增大 k 值,直到满足「disttarget 奇偶性相同」。

Java 代码:

class Solution {
    public int reachNumber(int target) {
        if (target < 0) target = -target;
        int k = (int) Math.sqrt(2 * target), dist = k * (k + 1) / 2;
        while (dist < target || (dist - target) % 2 == 1) {
            k++;
            dist = k * (k + 1) / 2;
        }
        return k;
    }
}

C++ 代码:

class Solution {
public:
    int reachNumber(int target) {
        if (target < 0) target = -target;
        int k = static_cast<int>(std::sqrt(2 * target));
        int dist = k * (k + 1) / 2;
        while (dist < target || (dist - target) % 2 == 1) {
            k++;
            dist = k * (k + 1) / 2;
        }
        return k;
    }
};

Python 代码:

class Solution:
    def reachNumber(self, target: int) -> int:
        if target < 0:
            target = -target
        k = int(math.sqrt(2 * target))
        dist = k * (k + 1) / 2
        while dist < target or (dist - target) % 2 == 1:
            k += 1
            dist = k * (k + 1) / 2
        return k

TypeScript 代码:

function reachNumber(target: number): number {
    if (target < 0) target = -target
    let k = Math.floor(Math.sqrt(2 * target)), dist = k * (k + 1) / 2
    while (dist < target || (dist - target) % 2 == 1) {
        k++
        dist = k * (k + 1) / 2
    }
    return k
}
  • 时间复杂度:
  • 空间复杂度:

最后

给大伙通知一下 📢 :

全网最低价 LeetCode 会员目前仍可用 ~

📅 年度会员:有效期加赠两个月!!; 季度会员:有效期加赠两周!!

🧧 年度会员:获 66.66 现金红包!!; 季度会员:获 22.22 现金红包!!

🎁 年度会员:参与当月丰厚专属实物抽奖(中奖率 > 30%)!!

专属链接:leetcode.cn/premium/?promoChannel=acoier

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

欢迎关注,明天见。

更多更全更热门的「笔试/面试」相关资料可访问排版精美的 合集新基地 🎉🎉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/700794.html

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

相关文章

PuLID: 图像背景、光线、风格等均保持高度一致图像生成工具,附本地一键包

PuLID是一种无需调优的ID定制方法。PuLID保持了高的ID保真度&#xff0c;同时有效地减少了对原始模型行为的干扰。 只需要提供一张照片&#xff0c;就可以生成高还原度的各种风格的图像。 使用方法&#xff1a;解压一键包&#xff0c;双击一键启动 点击ID图像&#xff08;主…

《Python编程从入门到实践》day28

# 昨日知识点回顾 安装Matplotlib 绘制简单的折线图 # 今日知识点学习 15.2.1 修改标签文字和线条粗细 # module backend_interagg has no attribute FigureCanvas. Did you mean: FigureCanvasAgg? # 解决办法&#xff1a;matplotlib切换图形界面显示终端TkAgg。 #…

TikTok机房ip好还是住宅ip好?

住宅ip比较好&#xff0c;机房数据中心IP高效、低价&#xff0c;所以使用的人多且用处复杂&#xff0c;这类ip极大可能存在滥用的黑历史&#xff0c;通过此类ip访问tiktok&#xff0c;被禁止的可能性更高&#xff0c;更容易被拉入黑名单。所以我们推荐tiktok独享原生ip搭建节点…

Service Worker的生命周期和全局对象和API

Service Worker的生命周期和全局对象和API 当我们注册了Service Worker后&#xff0c;它会经历生命周期的各个阶段&#xff0c;同时会触发相应的事件。整个生命周期包括了&#xff1a;installing --> installed --> activating --> activated --> redundant。当Se…

.NET周刊【5月第2期 2024-05-12】

国内文章 C#在工业数字孪生中的开发路线实践 https://mp.weixin.qq.com/s/b_Pjt2oii0Xa_sZp_9wYWg 这篇文章探讨了C#在工业数字孪生技术中的应用&#xff0c;介绍了三种基于C#的数字孪生系统实现方案&#xff1a; WPF Unity&#xff1a;结合WPF技术和Unity引擎&#xff0c…

单区域OSPF实验

实验目的&#xff1a; 理解OSPF的基本概念。掌握单曲于OSPF的配置掌握OSPF邻居状态的解读掌握通过Cost控制OSPF选路的方法掌握OSPF认证的配置方法 一、基础配置&#xff1a; 搭建实验拓扑图&#xff1b; 配置路由器接口的IP地址以及配置环回地址待后续使用 &#xff08;1&a…

【核弹】我的第一款IDEA插件

SuperHotSwap 插件名称叫做&#xff1a;SuperHotSwap&#xff08;超级热更新&#xff09; 开发初心&#xff1a;旨在做出一款最便捷的IDEA热更新插件&#xff0c;减少用户操作步骤&#xff0c;提供零配置的可视化操作更新。 为什么要写这个插件&#xff1a; 每次改一下Mappe…

如何用Rust获取本机CPU、内存在Web网页中显示?

目录 一、需求描述 二、具体操作步骤 三、知识点 1、systemstat 2、Actix 一、需求描述 需求&#xff1a; 1、需要使用Rust进行后端开发获取本机CPU和内存信息&#xff1b; 2、使用WEB框架发布API&#xff1b; 3、然后使用HTML/CSS/JavaScript进行前端开发&#xff0…

想要安装Word、Excel、PowerPoint,但却找不到对应软件?

前言 前几天有小伙伴在找Word和Excel软件&#xff0c;但找了半天都没发现怎么安装。 这件事情其实很简单&#xff0c;那就是Word、Excel并不是单独的一个个软件&#xff0c;而是集成在MS Office套件里的。 咱们大部分人常用的办公软件大概是Word、Excel和PowerPoint这三个。还…

Git 基础使用(2) 分支管理

文章目录 分支概念分支使用查看分支分支创建分支切换分支合并合并冲突分支删除 分支管理快进模式分支策略内容保存错误处理 分支概念 &#xff08;1&#xff09;分支概念 Git分支是指在版本控制系统Git中&#xff0c;用来表示项目的不同工作流程或开发路径的一个重要概念。通过…

架构每日一学 6:作为架构师,你必须学会寻找商业模式

本文首发于公众平台&#xff1a;腐烂的橘子 在前面的文章中&#xff0c;我们已经讲了架构师的两条生存法则&#xff0c;第一条是有且仅有一个目标&#xff0c;感兴趣的可以看一下原文&#xff1a; 架构每日一学 2&#xff1a;架构师六个生存法则之一&#xff1a;架构必须有且仅…

JVM面试题:85道JVM虚拟机面试题及答案

面试题 1 .简述Java堆的结构&#xff1f;什么是堆中的永久代(Perm Gen space)? JVM整体结构及内存模型 试题回答参考思路&#xff1a; 1、堆结构 JVM的堆是运行时数据区&#xff0c;所有类的实例和数组都是在堆上分配内存。它在JVM启动的时候被创建。对象所占的堆内存是由自…