剑指offer专项突破版
《剑指Offer(专项突破版):数据结构与算法名企面试题精讲》全面、系统地总结了在准备程序员面试过程中必备的数据结构与算法。
Jay_1998
这个作者很懒,什么都没留下…
展开
-
剑指 Offer(专项突击版)-剑指 Offer II 008. 和大于等于 target 的最短子数组
1.题目给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。见原题示例1输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。示例2输入:target = 4, nums = [1,4,4]输出:12.原创 2022-05-19 18:41:38 · 190 阅读 · 0 评论 -
剑指 Offer(专项突击版)-剑指 Offer II 007. 数组中和为 0 的三个数
1.题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a + b + c = 0 ?请找出所有和为 0 且 不重复 的三元组。见原题示例1输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例2输入:nums = [0]输出:[]2. 解题class Solution {public: vector<vector<int>> threeSum(ve原创 2022-05-19 18:39:09 · 192 阅读 · 0 评论 -
剑指 Offer(专项突击版)-剑指 Offer II 006. 排序数组中两个数字之和
1.题目给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < numbers.length 。假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用两次。见原题示例1输入:numbers = [1,2,4,6,10], ta原创 2022-05-19 18:35:58 · 208 阅读 · 0 评论 -
剑指 Offer(专项突击版)-剑指 Offer II 005. 单词长度的最大乘积
1.题目给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。见原题示例1输入: words = ["abcw","baz","foo","bar","fxyz","abcdef"]输出: 16 解释: 这两个单词为 "abcw", "fxyz"。它们不包含相同字符,且长度的乘积最大。示例2输入: words = ["a","ab",原创 2022-05-19 18:33:16 · 204 阅读 · 0 评论 -
剑指 Offer(专项突击版)-剑指 Offer II 004. 只出现一次的数字
1.题目给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。见原题示例1输入:nums = [2,2,3,2]输出:3示例2输入:nums = [0,1,0,1,0,1,100]输出:1002. 解题class Solution {public: int singleNumber(vector<int>& nums) { int res = 0; f原创 2022-05-19 18:30:14 · 71 阅读 · 0 评论 -
《剑指 Offer(专项突击版)》解题目录(更新中)
《剑指 Offer(专项突击版)》解题目录题目来源于LeetCode上的剑指 Offer(专项突击版, update on 2022/05/19已解决题目题目剑指 Offer II 001. 整数除法剑指 Offer II 002. 二进制加法剑指 Offer II 003. 前 n 个数字二进制中 1 的个数...原创 2022-05-19 18:27:03 · 272 阅读 · 0 评论 -
剑指 Offer(专项突击版)-剑指 Offer II 003. 前 n 个数字二进制中 1 的个数
1.题目给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。见原题示例1输入: n = 2输出: [0,1,1]解释: 0 --> 01 --> 12 --> 10示例2输入: n = 5输出: [0,1,1,2,1,2]解释:0 --> 01 --> 12 --> 103 --> 114 --> 1005 --> 1012. 解题class Solution原创 2022-05-19 18:20:50 · 110 阅读 · 0 评论 -
剑指 Offer(专项突击版)-剑指 Offer II 002. 二进制加法
1.题目给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。输入为 非空 字符串且只包含数字 1 和 0。见原题示例1输入: a = "11", b = "10"输出: "101"示例2输入: a = "1010", b = "1011"输出: "10101"2. 解题class Solution {public: string addBinary(string a, string b) { string res = "";原创 2022-05-19 18:18:12 · 78 阅读 · 0 评论 -
剑指 Offer II 001. 整数除法
1.题目给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 ‘*’、除号 ‘/’ 以及求余符号 ‘%’ 。见原题整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31−1]。本题中,如果除法结果溢出,则返回 2^31 − 1示例1输入:a = 15, b = 2输出:7解释:15/2 = tru原创 2022-05-19 17:34:48 · 140 阅读 · 0 评论