数据结构
.WHY..
这个作者很懒,什么都没留下…
展开
-
面试常考题——LRU缓存题解
面试常考题——LRU缓存题解原创 2022-08-25 11:19:04 · 478 阅读 · 2 评论 -
剑指 Offer II 022. 链表中环的入口节点(力扣剑指Offer专项突击版——链表2)
题目给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环,其尾部连接原创 2022-03-26 18:00:09 · 151 阅读 · 0 评论 -
剑指Offer Ⅱ 005.单词长度的最大乘积 (力扣剑指Offer专项突击版——整数_5)
题目给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。示例 1:输入: words = [“abcw”,“baz”,“foo”,“bar”,“fxyz”,“abcdef”]输出: 16解释: 这两个单词为 “abcw”, “fxyz”。它们不包含相同字符,且长度的乘积最大。示例 2:输入: words = [“a”,“ab”,“ab原创 2022-03-21 21:57:40 · 153 阅读 · 0 评论 -
剑指Offer Ⅱ 004.只出现一次的数字 (力扣剑指Offer专项突击版——整数_4)
题目:给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例 1:输入:nums = [2,2,3,2]输出:3示例 2:输入:nums = [0,1,0,1,0,1,100]输出:100题解:题解1 哈希:直观想法是哈希存储各数字出现次数,查找只出现一次的int singleNumber(vector<int>& nums) { // 法一 哈希 unord原创 2022-03-21 21:48:40 · 116 阅读 · 0 评论 -
剑指Offer Ⅱ 003.二进制加法(力扣剑指Offer专项突击版——整数_3)
题目给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。示例 1:输入: n = 2输出: [0,1,1]解释:0 --> 01 --> 12 --> 10题解题解一本体最直观的想法是,求每个数的二进制位个数,如下:` int count_1(int n) { int index = 1, res = 0; while (n > 0) { /原创 2022-03-20 21:35:36 · 86 阅读 · 0 评论 -
剑指Offer Ⅱ 001. 整数除法(力扣剑指Offer专项突击版——整数_1)
题目给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 ‘*’、除号 ‘/’ 以及求余符号 ‘%’ 。注意:整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31−1]。本题中,如果除法结果溢出,则返回 2^31 − 1题解由于不能用乘除法,因此考虑使用加减法/位运算,关键在于越界条件的判断与复杂度原创 2022-03-20 19:49:48 · 463 阅读 · 0 评论 -
C语言——栈和队列的概念、结构及实现
文章目录前言一、栈1.栈的概念及结构1.栈的实现二、队列1.队列的概念及结构2.队列的实现前言栈和队列是两种常用的数据结构,因此,了解他们的概念、结构和实现方法是十分基础且必要的。一、栈1.栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的压入操作叫做进栈/压栈/入栈,如数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也原创 2021-03-10 22:53:25 · 525 阅读 · 0 评论