蚂蚁退地,房价猛跌

蚂蚁退地,房价猛跌

2020年-2021年,蚂蚁集团先后拿下之江度假区钱塘江岸 XH1710-B1/B2-23 和 XH1708-02 地块。

一时间,"蚂蚁集团坐拥大量土地,欲打造全球总部"的消息传遍全国,之江板块房价连夜猛涨,有二手房单价从三四万元直接涨到六七万元,各路买家也闻风而动,杀到之江抢房。

但近两年,随着中概互联和国内经济的同步下行,关于"蚂蚁或将退地"的传闻此起彼伏,原因是这一总部地标一直空置。

而就在近期,蚂蚁退地的消息被正式坐实,传闻又切换为"之江板块直降百万无人问津"。

潮起潮落很好理解,但在国内房地产普遍进入"买方市场"的今天,蚂蚁退地的利空应该早就被市场消化,如今的坐实对实际房价影响会有多大呢?

通过贝壳的开放数据可以知道,之江九里同样一套 98 平的户型,两年前成交价最高近 560 万(约 57000 一平方),而今年上半年的最近成交价为 350 万(约 36000 一平方)。

由此可见,在消息坐实之前,之江板块就基本跌回蚂蚁拿地之前的水平。

对此你怎么看?

...

回归主线。

来一道和「蚂蚁金服」相关的算法题。

题目描述

平台:LeetCode

题号:809

有时候人们会用重复写一些字母来表示额外的感受,比如 "hello" -> "heeellooo", "hi" -> "hiii"。我们将相邻字母都相同的一串字符定义为相同字母组,例如:"h", "eee", "ll", "ooo"

对于一个给定的字符串 S ,如果另一个单词能够通过将一些字母组扩张从而使其和 S 相同,我们将这个单词定义为可扩张的(stretchy)。

扩张操作定义如下:选择一个字母组(包含字母 c ),然后往其中添加相同的字母 c 使其长度达到 3 或以上。

例如,以 "hello" 为例:

我们可以对字母组 "o" 扩张得到 "hellooo",但是无法以同样的方法得到 "helloo" 因为字母组 "oo" 长度小于 3。此外,我们可以进行另一种扩张 "ll" -> "lllll" 以获得 "helllllooo"

如果 S = "helllllooo",那么查询词 "hello" 是可扩张的,因为可以对它执行这两种扩张操作使得 query = "hello" -> "hellooo" -> "helllllooo" = S

输入一组查询单词,输出其中可扩张的单词数量。

示例:

输入: 
S = "heeellooo"
words = ["hello""hi""helo"]

输出:1

解释:
我们能通过扩张 "hello" 的 "e" 和 "o" 来得到 "heeellooo"
我们不能通过扩张 "helo" 来得到 "heeellooo" 因为 "ll" 的长度小于 3 。

提示:

  • S 和所有在  words 中的单词都只由小写字母组成。

双指针

该题最难的部分就是理解 “扩张” 操作:假设有两个字符相同的连续段 ab,如何判断 a 是否能由 b 扩张而来。

忘记掉题目所说的规则,我们重新定义 “扩张” 操作:

  • ab 长度相同,定义为可扩张;
  • ab 长度不同,根据「 ab 长度对比」以及「 a 的长度大小」分情况讨论:
    • b 长度大于 a,不可扩张;
    • a 长度大于 b「我们不一定要拿整一段的 b 进行扩张,可以拿 b 中的一个字符进行扩张。」 因此只需要满足扩张后的长度( a 的长度)大于等于 即可定义为可扩张。

搞明白何为 “扩张” 后,剩余的则是简单的「双指针 + 模拟」做法。

Java 代码:

class Solution {
    public int expressiveWords(String s, String[] words) {
        int n = s.length(), ans = 0;
        out:for (String word : words) {
            int m = word.length(), i = 0, j = 0;
            while (i < n && j < m) {
                if (s.charAt(i) != word.charAt(j)) continue out;
                int a = i, b = j;
                while (a < n && s.charAt(a) == s.charAt(i)) a++;
                while (b < m && word.charAt(b) == word.charAt(j)) b++;
                a -= i; b -= j;
                if (a != b && (b > a || a < 3)) continue out;                
                i += a; j += b;
            }
            if (i == n && j == m) ans++;
        }
        return ans;
    }
}

C++ 代码:

class Solution {
public:
    int expressiveWords(string s, vector<string>& words) {
        int n = s.size(), ans = 0;
        for (const string &word : words) {
            int m = word.size(), i = 0, j = 0;
            while (i < n && j < m) {
                if (s[i] != word[j]) break;
                int a = i, b = j;
                while (a < n && s[a] == s[i]) a++;
                while (b < m && word[b] == word[j]) b++;
                a -= i; b -= j;
                if (a != b && (b > a || a < 3)) break;                
                i += a; j += b;
                if (i == n && j == m) ans++;
            }
        }
        return ans;
    }
};

Python 代码:

class Solution:
    def expressiveWords(self, s: str, words: List[str]) -> int:
        n, ans = len(s), 0
        for word in words:
            m, i, j = len(word), 00
            ok = True
            while ok and i < n and j < m:
                if s[i] != word[j]:
                    ok = False
                a, b = i, j
                while a < n and s[a] == s[i]:
                    a += 1
                while b < m and word[b] == word[j]:
                    b += 1
                a, b = a - i, b - j
                if a != b and (b > a or a < 3):
                    ok = False
                i, j = i + a, j + b
            if ok and i == n and j == m:
                ans += 1
        return ans

TypeScript 代码:

function expressiveWords(s: string, words: string[]): number {
    let n = s.length, ans = 0
    out:for (const word of words) {
        let m = word.length, i = 0, j = 0
        while (i < n && j < m) {
            if (s[i] != word[j]) continue out
            let a = i, b = j
            while (a < n && s[a] == s[i]) a++
            while (b < m && word[b] == word[j]) b++
            a -= i; b -= j;
            if (a != b && (b > a || a < 3)) continue out
            i += a; j += b;
        }
        if (i == n && j == m) ans++;
    }
    return ans
}
  • 时间复杂度: ,其中 n 为字符串 s 的长度, m 为数组 words 的长度
  • 空间复杂度:

最后

给大伙通知一下 📢 :

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

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

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

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

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

更多详情请戳 这里 。

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

欢迎关注,明天见。

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

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

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

相关文章

MATLAB近红外光谱分析技术应用

郁磊副教授&#xff0c;主要从事MATLAB编程、机器学习与数据挖掘、数据可视化和软件开发、生理系统建模与仿真、生物医学信号处理&#xff0c;具有丰富的实战应用经验&#xff0c;主编《MATLAB智能算法30个案例分析》、《MATLAB神经网络43个案例分析》相关著作。已发表多篇高水…

【Python语法实例】-12猜单词游戏

一、游戏背景与需求 猜单词游戏是一种经典的文字游戏,玩家需要通过提示的字母组合,猜出正确的单词。这个游戏不仅考验玩家的词汇量和推理能力,还能在娱乐中提升编程技能。我们的目标是创建一个简单易懂的猜单词游戏,让玩家在享受游戏乐趣的同时,也能感受到Python编程的实…

C# MES通信从入门到精通(8)——C#调用Webservice服务进行数据交互

前言 在上位机开发领域,使用webservice来访问客户的终端Mes系统是一项必备的技能,本文详细介绍了如何在c#中调用webservice服务,不仅介绍了使用添加服务引用直接调用webservice中的方法外还介绍了使用http的post方法调用webservice方法,过程详细且均为实战经验总结,对于初…

港口核心!达梦数据助力上港集团罗泾码头 I-TOS 系统升级改造

港口作为交通运输的枢纽和联通世界的窗口&#xff0c;肩负着带动区域经济发展及服务国际经贸的双重责任。在信息化浪潮推动下&#xff0c;自动化、数字化、智能化成为港口航运业转型发展的关键。 达梦数据积极推进港口数字化转型升级 &#xff0c;助力上港集团罗泾码头实现 I-T…

iOS Widget Custom Intent 去除邮件警告

当实现了可编辑小组件功能后,打包上传到app store,收到了苹果发来的邮件。 邮件详情 Hello, We noticed one or more issues with a recent delivery for the following app: • Version 4.0.5 • Build 116 Although delivery was successful, you may want to correct the …

青蛙过河(二分+前缀和)

题目描述 小青蛙住在一条河边&#xff0c;它想到河对岸的学校去学习。小青蛙打算经过河里的石头跳到对岸。 河里的石头排成了一条直线&#xff0c;小青蛙每次跳跃必须落在一块石头或者岸上。不过&#xff0c;每块石头有一个高度&#xff0c;每次小青蛙从一块石头起跳&#xf…

[问题记录] oracle问题汇总记录

plsql问题 1、oracle-initialization error could not locate OCI.dll 下载plsql客户端后&#xff0c;登录显示如图所示的错误 解决方法&#xff0c;点击下方链接&#xff0c;下载64位客户端 Instant Client for Microsoft Windows (x64) 64-bit (oracle.com) 2、显示中文乱…

深度学习训练中“num_workers”的作用

在深度学习训练中&#xff0c;num_workers是一个常见的参数&#xff0c;特别是在使用数据加载器&#xff08;如PyTorch的DataLoader&#xff09;时。num_workers指定了用于数据加载的子进程数量。这个参数对于提高数据加载的效率和加速训练过程至关重要。 num_workers的作用&a…

【资源分享】最全ChatGPT镜像免梯子

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验&#xff0c;帮助大家尽早适应研究生生活&#xff0c;尽快了解科研的本质。祝一切顺利&#xff01;—…

LeetCode 707. 设计链表(单链表、(非循环)双链表 模板)

你可以选择使用单链表或者双链表&#xff0c;设计并实现自己的链表。 单链表中的节点应该具备两个属性&#xff1a;val 和 next 。val 是当前节点的值&#xff0c;next 是指向下一个节点的指针/引用。 如果是双向链表&#xff0c;则还需要属性 prev 以指示链表中的上一个节点…

leetCode第十题 : 正则表达式匹配 动态规划【10/1000 python】

&#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 作者专栏每日更新&#xff1a; LeetCode解锁1000题: 打怪升级之旅 LeetCode解锁1000题: 打怪升级之旅htt…

wordpress全站开发指南-面向开发者及深度用户(全中文实操)--初尝php

初尝php 打开你下载的wordpress文件夹&#xff0c;如果你用的xampp那它就在xampp安装的文件夹–htdocs文件夹–你可以新建一个test文件夹–新建一个test.php文件 <html><head><title>First attempt at PHP</title></head><body><?ph…

Spring注解开发和XML开发

目录 Spring简介发展史Spring Framework系统架构spring 核心概念IOC、IOC容器、Bean、DIIOC快速入门DI快速入门 IOCBean基础配置id与class属性name属性scope属性 Bean的实例化构造方法静态工厂实例工厂FactoryBean的使用&#xff08;工厂实例的简化&#xff09; Bean的生命周期…

【Qt】:常用控件(三:按钮类)

常用控件&#xff08;三&#xff09; 一.Push Button二.Radio Buttion三.Check Box 一.Push Button 使⽤ QPushButton 表⽰⼀个按钮.这也是当前我们最熟悉的⼀个控件了.QPushButton继承⾃QAbstractButton .这个类是⼀个抽象类.是其他按钮的⽗类. QAbstractButton 中,和 QPushBu…

微信小程序技术选型方案

在保持小程序原生优势的基础上,进一步提高了开发效率、代码质量和用户体验。 一、WePY Mobx Axios Vant Weapp 这个技术选型方案在保持小程序原生优势的基础上,进一步提高了开发效率、代码质量和用户体验,是一个较为全面和合理的选择。 基础框架选择: 使用微信官方提供的小…

Qt中出现中文乱码的原因以及解决方法

Qt专栏&#xff1a;http://t.csdnimg.cn/C2SDN 目录 1.引言 2.原因分析 3.源文件的编码格式修改方法 4.程序内部使用的默认编码格式修改方法 5.QString转std::string的方法 6.总结 1.引言 在编写Qt程序的时候&#xff0c;或多或少都可能遇到用QString时候&#xff0c;明明…

Docker 安装 | 部署MySQL 8.x 初始设置

1、准备工作 如果不想看前面的废话请直接右边目录跳到 运行容器 处 默认你已经有 docker 环境。 Windows 推荐 Docker Desktop &#xff08;下载地址&#xff09;并基于 WSL2 运行 Docker 环境 mac 推荐 Orbstack &#xff08;下载地址&#xff09;&#xff08;这个很节省资源&…

控制台RPG 游戏实现双缓冲无屏闪,玩家类,地图类

重整控制台RPG——双缓冲无屏闪以及第一个无中生有的地图类&#xff0c;玩家类_哔哩哔哩_bilibili 是鄙人解说鄙人的代码 #include <iostream> #include <string.h> #include <windows.h>#define KEY_DOWN(vKey) ((GetAsyncKeyState(vKey) & 0x8000) ?…

Stable diffusion 加载扩展列表报错解决方法

项目场景&#xff1a; 在使用Stable diffusion webui时&#xff0c;使用扩展列表出现错误 问题描述 点击loadfrom后&#xff0c;出现加载扩展列表报错 原因分析&#xff1a; 下载的扩展的时候&#xff0c;都是github 的url&#xff0c;需要科学上网&#xff0c;如果不能科学…

【MySQL】聚合函数和分组聚合

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习计网、mysql和算法 ✈️专栏&#xff1a;MySQL学习 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac…