国内 15 大互联网公司市值排名

教育   2025-01-04 14:50   广东  

大厂估值变化

最近「晚点 LatePost」整理了「15 大互联网公司近 6 年的市值/估值排名」榜单。

有意思的是:2024 年,是这 15 大互联网公司的首次全面盈利。

你可能会好奇,这些公司不都挺赚钱吗?为啥 2024 年才首次全面盈利?

因为 B 站一直在拖后腿(直到在 2024 年三季度才实现盈利 🤣🤣🤣

这榜单十分有趣。

腾讯从 2020 开始至今都是市值第一。这当中的主要原因,并不是腾讯特别地做对了什么,而是其他中概队友的普遍"掉队",从而实现的差距放大。

除腾讯外,榜单中的其他老牌大厂,在过去几年,都在一定程度的各自厮杀,抢夺对方的现有份额,而非制造增量,叠加外资出逃,以阿里为首的中概公司,估值基本都在单边下跌。

至于为什么只有腾讯可以在"不追求高增长"的路上稳步向前?

这和"护城河"的属性有关。腾讯有着「社交领域的巨大用户基数」和「真正多元的业务布局」。这些都是当年如日中天,占据全国 70% 以上的电商份额的阿里巴巴所不具有的。

当年阿里巴巴自诩的护城河,是支付宝的天量用户,以及淘宝天猫的海量订单,但这些成就更多只是因为"先发优势"而获得,一旦护城河与金钱直接挂勾,就没有真正所谓的"粘性",无论是用户还是商家,都会跟随"利益"而离开。

再从市值/估值的角度去看,从 2019 之后,真正称得上"逆势发展"的,只有三家公司:字节、拼多多、SHEIN。

拼多多优势是「绝对低价 + 消费者端倾斜」,在后疫情时代消费降级的大背景下,一下子就火起来了。

SHEIN 的优势是「产品快速上市 + 供应链把控」,大背景也是欧美市场的消费放缓,然后对下沉市场的快速响应,最多就是再叠加「国内制造对标海外制造」在速度上的降维打击。

两家公司的成功,不能说没有必然性,但时代背景的催化作用明显。

三家里面,字节的成功是含金量最高的。

只不过最近不是一个合适的聊字节的时机,后面有机会单独再开一期。

...

回归主题。

周末,来一道轻松小算法。

题目描述

平台:LeetCode

题号:961

给你一个整数数组 nums ,该数组具有以下属性:

  • nums 包含 个 不同的 元素
  • nums 中恰有一个元素重复

找出并返回重复了 次的那个元素。

示例 1:

输入:nums = [1,2,3,3]

输出:3

示例 2:

输入:nums = [2,1,2,5,3,2]

输出:2

示例 3:

输入:nums = [5,1,5,2,5,3,5,4]

输出:5

提示:

  • nums 个 不同的 元素组成,且其中一个元素恰好重复

计数模拟

根据题目给定的三个条件可推断出:数组中仅有一个元素出现多次,其余元素均出现一次。

又利用数据范围为 ,我们可以使用数组充当哈希表进行计数,当出现一个 重复出现即是答案。

Java 代码:

class Solution {
    int[] cnts = new int[10010];
    public int repeatedNTimes(int[] nums) {
        for (int x : nums) {
            if (++cnts[x] > 1return x;
        }
        return -1;
    }
}

C++ 代码:

class Solution {
public:
    int repeatedNTimes(vector<int>& nums) {
        vector<intcnts(100100);
        for (int x : nums) {
            if (++cnts[x] > 1return x;
        }
        return -1;
    }
};

Python 代码:

class Solution:
    def repeatedNTimes(self, nums: List[int]) -> int:
        cnts = [0] * 10010
        for x in nums:
            cnts[x] += 1
            if cnts[x] > 1:
                return x
        return -1

TypeScript 代码:

function repeatedNTimes(nums: number[]): number {
    const cnts = new Array(10010).fill(0);
    for (const x of nums) {
        if (++cnts[x] > 1return x;
    }
    return -1;
};
  • 时间复杂度:
  • 空间复杂度:

构造共性

假设重复出现的数字是 ,数字 重复了 次,要将这 个相同的 间隔开,需要 个额外数字,而实际上我们除 以外还有 个额外数字(数字总数为 个),因此在我们所能构造出的所有排列方式中,「最多」 使相邻 之间间隔了 个额外数字。

对于每个 而言,我们检查往前的三个位置(若有),如果有重复相等情况,说明当前的 即是答案。

Java 代码:

class Solution {
    public int repeatedNTimes(int[] nums) {
        int n = nums.length;
        for (int i = 0; i < n; i++) {
            int t = nums[i];
            if (i - 1 >= 0 && nums[i - 1] == t) return t;
            if (i - 2 >= 0 && nums[i - 2] == t) return t;
            if (i - 3 >= 0 && nums[i - 3] == t) return t;
        }
        return -1;
    }
}

C++ 代码:

class Solution {
public:
    int repeatedNTimes(vector<int>& nums) {
        int n = nums.size();
        for (int i = 0; i < n; ++i) {
            int t = nums[i];
            if (i - 1 >= 0 && nums[i - 1] == t) return t;
            if (i - 2 >= 0 && nums[i - 2] == t) return t;
            if (i - 3 >= 0 && nums[i - 3] == t) return t;
        }
        return -1;
    }
};

Python 代码:

class Solution:
    def repeatedNTimes(self, nums: List[int]) -> int:
        for i in range(len(nums)):
            t = nums[i]
            if i - 1 >= 0 and nums[i - 1] == t:
                return t
            if i - 2 >= 0 and nums[i - 2] == t:
                return t
            if i - 3 >= 0 and nums[i - 3] == t:
                return t
        return -1

TypeScript 代码:

function repeatedNTimes(nums: number[]): number {
    const n = nums.length;
    for (let i = 0; i < n; i++) {
        const t = nums[i];
        if (i - 1 >= 0 && nums[i - 1] === t) return t;
        if (i - 2 >= 0 && nums[i - 2] === t) return t;
        if (i - 3 >= 0 && nums[i - 3] === t) return t;
    }
    return -1;
};
  • 时间复杂度:
  • 空间复杂度:

最后

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

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

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

欢迎关注,明天见。



宫水三叶的刷题日记
锐评时事热点的 算法与数据结构 题解区博主。「 刷穿 LeetCode 」系列文章原创公众号。
 最新文章