0%


题目描述

给你一个字符串 s,找到 s 中最长的 回文子串

说明:

  • 如果字符串向前和向后读都相同,则它满足回文性。
  • 子字符串是字符串中连续的非空字符序列。

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

输入:s = "cbbd"
输出:"bb"

提示:

  • 1 <= s.length <= 1000
  • s 仅由数字和英文字母组成
阅读全文 »


题目描述

给定两个字符串 sp,找到 s 中所有 p异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。

字母异位词 是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次。

示例 1:

输入:s = "cbaebabacd", p = "abc"
输出:[0, 6]
解释:
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。
起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。

示例 2:

输入:s = "abab", p = "ab"
输出:[0, 1, 2]
解释:
起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。
起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。
起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。

提示:

  • 1 <= s.length, p.length <= 3 * 10^4
  • sp 仅包含小写字母
阅读全文 »


题目描述

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

输入:nums = [0, 1, 0, 3, 12]
输出:[1, 3, 12, 0, 0]

示例 2:

输入:nums = [0]
输出:[0]

提示:

  • 1 <= nums.length <= 10^4
  • -2^31 <= nums[i] <= 2^31 - 1
阅读全文 »


题目描述

有两棵 无向树,分别有 nm 个树节点。两棵树中的节点编号分别为 [0, n - 1][0, m - 1] 中的整数。

给你两个二维整数 edges1edges2 ,长度分别为 n - 1m - 1 ,其中 edges1[i] = [ai, bi] 表示第一棵树中节点 aibi 之间有一条边,edges2[i] = [ui, vi] 表示第二棵树中节点 uivi 之间有一条边。同时给你一个整数 k 。如果节点 u 和节点 v 之间路径的边数小于等于 k ,那么我们称节点 u 是节点 v目标节点 。一个节点一定是它自己的 目标节点

请你返回一个长度为 n 的整数数组 answeranswer[i] 表示将第一棵树中的一个节点与第二棵树中的一个节点连接一条边后,第一棵树中节点 i 的目标节点数目的最大值 。

注意:每个查询相互独立。意味着进行下一次查询之前,你需要先把刚添加的边给删掉。

示例 1:

输入:edges1 = [[0, 1], [0, 2], [2, 3], [2, 4]], edges2 = [[0, 1], [0, 2], [0, 3], [2, 7], [1, 4], [4, 5], [4, 6]], k = 2
输出:[9, 7, 9, 8, 8]
解释:

  • 对于 i = 0 ,连接第一棵树中的节点 0 和第二棵树中的节点 0 。
  • 对于 i = 1 ,连接第一棵树中的节点 1 和第二棵树中的节点 0 。
  • 对于 i = 2 ,连接第一棵树中的节点 2 和第二棵树中的节点 4 。
  • 对于 i = 3 ,连接第一棵树中的节点 3 和第二棵树中的节点 4 。
  • 对于 i = 4 ,连接第一棵树中的节点 4 和第二棵树中的节点 4 。

示例 2:

输入:edges1 = [[0, 1], [0, 2], [0, 3], [0, 4]], edges2 = [[0, 1], [1, 2], [2, 3]], k = 1
输出:[6, 3, 3, 3, 3]
解释:对于每个 i ,连接第一棵树中的节点 i 和第二棵树中的任意一个节点。

提示:

  • 2 <= n, m <= 1000
  • edges1.length == n - 1
  • edges2.length == m - 1
  • edges1[i].length == edges2[i].length == 2
  • edges1[i] = [ai, bi]
  • 0 <= ai, bi < n
  • edges2[i] = [ui, vi]
  • 0 <= ui, vi < m
  • 输入保证 edges1edges2 都表示合法的树。
  • 0 <= k <= 1000
阅读全文 »


题目描述

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

示例 1:

输入:n = 3
输出:5

示例 2:

输入:n = 1
输出:1

提示:

  • 1 <= n <= 19
阅读全文 »


题目描述

给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。

说明:
完全二叉树:除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(从第 0 层开始),则该层包含 1 ~ 2h 个节点。

1
2
3
4
5
     1
/ \
2 3
/ \ /
4 5 6

示例 1:

输入:root = [1,2,3,4,5,6]
输出:6

示例 2:

输入:root = []
输出:0

示例 3:

输入:root = [1]
输出:1

提示:

  • 树中节点的数目范围是 [0, 5 * 10^4]
  • 0 <= Node.val <= 5 * 10^4
  • 题目数据保证输入的树是 完全二叉树
阅读全文 »


前言

最近喜欢玩 ChatGPT,奈何手机 IOS 版的 ChatGPT 没有上架中国大陆区 App Store,所以折腾下想要注册美国的 Apple ID,同时也方便下载一些其他有用的软件,比如 PayPal 和 Shadowrocket,话不多说,操作起来也是很简单的 👻

阅读全文 »


前言

OpenAI 公司是一家位于美国的人工智能研究与开发公司,成立于2015年,致力于推动人工智能技术的发展。该公司的使命是确保人工智能技术对整个人类社会的利益产生积极影响。OpenAI 在自然语言处理领域取得了重要突破,其中的一个产品就是 ChatGPT。
ChatGPT 是 OpenAI 开发的一款强大的自然语言处理模型。它可以理解和生成人类语言,能够回答问题、执行任务、进行对话等多种应用。ChatGPT 可以用于在线客服、智能助手、内容生成、教育支持等众多领域,为用户提供自然而流畅的文本交互体验。
OpenAI 不断改进和扩展 ChatGPT,以提供更准确、有用和安全的服务。这一技术的发展代表了人工智能在改善人们的生活、工作和沟通方面的潜力,并在多个领域产生了广泛的应用。

在国内并不支持 OpenAI 账号注册,多数会提示:OpenAI's services are not available in your country,查阅了一些资料后发现以下方式可以注册成功。

前期准备

  1. 国外梯子,没有的话可以参考 站在 Shadowsocks 的肩膀上发现精彩的世界
  2. 国外手机号,没有的话可以通过 SMS-Activate 购买一个
阅读全文 »