楼梯 成本offer 088

哈希表:剑指 Offer 50. 第一个只出现一次的字符

题目描述:在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 限制: 0 <= s 的长度 <= 50000 题解:哈希表 遍历字符串 s ,使用哈希表统计 “各字符数量是否 >1 ”。 再遍历字符串 s ,在哈希表中找到首个 “数量为 1 的字符”,并返回 ......
字符 Offer 50

【剑指 Offer】 39. 数组中出现次数超过一半的数字

【题目】 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制:1 <= 数组长度 <= 50000 来源:力扣(LeetCode)链接:ht ......
数组 次数 数字 Offer 39

【剑指 Offer】 56 - II. 数组中数字出现的次数 II

【题目】 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1 限制: 1 <= nums.length <= 10000 1 ......
数组 次数 数字 Offer II

面试:靠着这篇笔记,我拿下了16k车载测试offer!

1、熟悉车载系统研发和测试流程,能独立编写各种测试文档。 2、熟悉车载系统测试用例设计思路,能独立编写仪表和车机的测试用例。 3、熟悉缺陷管理工具的使用。 ......
笔记 offer 16k 16

1000. 合并石头的最低成本

题目链接:1000. 合并石头的最低成本 方法:区间dp 解题思路 状态表示:$f[i][j]$ 集合:表示将 $[i, j]$ 的石堆合并成一堆的所有合并方式; 属性:集合中合并的所有代价总的最小值。 状态计算: 集合划分:将其分为 $[i, m]$ 和 $[m + 1, j]$,$m = i + ......
石头 成本 1000

力扣---剑指 Offer 66. 构建乘积数组

给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 示例: 输入: [1,2,3,4,5]输出: [12 ......
乘积 数组 Offer 66

力扣---剑指 Offer 39. 数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制:1 <= 数组长度 <= 50000注意:本题与主站 169 题相同:https://lee ......
数组 次数 数字 Offer 39

剑指 Offer 04. 二维数组中的查找

剑指 Offer 04. 二维数组中的查找 传送门 题目 在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 限制: 0 <= n <= 1000 0 ......
数组 Offer 04

剑指 Offer 03. 数组中重复的数字

剑指 Offer 03. 数组中重复的数字 传送门 题目 ​ 找出数组中重复的数字。 ​ 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 限制: 2 <= n ......
数组 数字 Offer 03

【图论之拓扑排序】剑指 Offer II 114. 外星文字典

剑指 Offer II 114. 外星文字典 讲解传送门 const int N = 26, M = N * N; class Solution { public: int h[N], e[M], ne[M], idx = 0; bool st[N]; int in[N], cnt = 0; // ......
拓扑 外星 字典 Offer 114

哈希表:剑指 Offer 48. 最长不含重复字符的子字符串

题目描述: 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 提示: s.length <= 40000 思路: 双指针(滑动窗口) + 哈希表: 复杂度分析: 时间复杂度 O(N) : 其中 N 为字符串长度,动态规划需遍历计算 dp 列表。 空间复杂度 O(1) : ......
字符 字符串 Offer 48

如何利用空号检测 API 降低企业的业务成本

空号检测 API 是一种基于云计算的人工智能技术,它可以通过大数据算法、机器学习等技术对电话号码进行分析和处理,识别出有效和无效号码。 ......
成本 业务 企业 API

【剑指 Offer 56】 - I. 数组中数字出现的次数

【题目】 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3 ......
数组 次数 数字 Offer

【剑指 Offer】 65. 不用加减乘除做加法

【题目】 写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 示例:输入: a = 1, b = 1输出: 2 提示: a, b 均可能是负数或 0 结果不会溢出 32 位整数来源:力扣(LeetCode)链接:https://leetcode.cn/ ......
加减乘除 加法 不用 Offer 65

哈希表:剑指 Offer 03. 数组中重复的数字

题目描述: 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 限制: 2 <= n <= 100000 哈希表 / Set利用数据结构特 ......
数组 数字 Offer 03

堆:剑指 Offer 41. 数据流中的中位数

题目描述: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 ......
中位数 数据流 数据 Offer 41

【剑指 Offer】 15. 二进制中1的个数

【题目】 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量).)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符 ......
二进制 个数 Offer 15

堆:剑指 Offer 40. 最小的k个数

题目描述: 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 限制: 0 <= k <= arr.length <= 10000 0 <= arr[i] <= 10000 题解:本题使用排序算法解决最直观,对数组 ......
个数 Offer 40

【剑指 Offer】 33. 二叉搜索树的后序遍历序列

【题目】 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1 ......
序列 Offer 33

剑指offer38(Java)-字符串的排列(中等)

题目: 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"] 限制: 1 <= s 的长度 <= 8 来源:力扣(LeetCode ......
字符串 字符 offer Java 38

用 Go 剑指 Offer 12. 矩阵中的路径

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 例 ......
矩阵 路径 Offer Go 12

剑指Offer 41 数据流中的中位数

一般解法,面试必踢 class MedianFinder { /** initialize your data structure here. */ List<Integer> list; public MedianFinder() { list = new ArrayList<>(); } pub ......
中位数 数据流 数据 Offer 41

用 Go 剑指 offer:面试题61. 扑克牌中的顺子

从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。 示例 1: 输入: [1,2,3,4,5]输出: True 示例 2: 输入: [0,0,1,2,5]输 ......
扑克牌 扑克 offer Go 61

用 Go 剑指 Offer 53 - II. 0~n-1中缺失的数字

一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1: 输入: [0,1,3]输出: 2示例 2: 输入: [0,1,2,3,4,5,6,7,9]输出: 8 限制: 1 <= ......
缺失 数字 Offer Go 53

用 Go 剑指 Offer 53 - I. 在排序数组中查找数字 I (二分法)

统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2: 输入: nums = [5,7,7,8,8,10], target = 6输出: 0 提示: 0 <= nums.length <= 105-109 <= ......
二分法 数组 数字 Offer Go

Leetcode(剑指offer专项训练)——DFS/BFS专项(3)

重建序列 题目 给定一个长度为 n 的整数数组 nums ,其中 nums 是范围为 [1,n] 的整数的排列。还提供了一个 2D 整数数组 sequences ,其中 sequences[i] 是 nums 的子序列。 检查 nums 是否是唯一的最短 超序列 。最短 超序列 是 长度最短 的序列 ......
专项 Leetcode offer DFS BFS

用 Go 剑指 Offer 57. 和为s的两个数字 (双指针)

输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2: 输入:nums = [10,26,30,31,47 ......
指针 两个 数字 Offer Go

用 Go 剑指 Offer 39. 数组中出现次数超过一半的数字 (摩尔投票)

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 // 若不存在多数元素,本题就需要计数并判断 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制: 1 <= 数组长度 <= 50000 ......
数组 次数 数字 Offer Go

【剑指 Offer】 16.数值的整数次方

【题目】 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。示例 1:输入:x = 2.00000, n = 10输出:1024.00000示例 2:输入:x = 2.10000, n = 3输出:9.26100示例 3:输入:x = 2. ......
整数 数值 Offer 16

用 Go 剑指 Offer 42. 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.leng ......
数组 Offer Go 42