草庐IT

刷题题单

全部标签

Leecode刷题心得和bug(哈希表与二叉树)

Leecode刷题心得和bug(哈希表和二叉树)一、哈希表0哈希表基础知识三种常见的哈希表当我们想使用哈希法来解决问题的时候,我们一般会选择如下三种数据结构。数组set(集合)map(映射)这里数组就没啥可说的了,我们来看一下set。在C++中,set和map分别提供以下三种数据结构,其底层实现以及优劣如下表所示:集合底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率std::set红黑树有序否否O(logn)O(logn)std::multiset红黑树有序是否O(logn)O(logn)std::unordered_set哈希表无序否否O(1)O(1)std::unordered

第8天-代码随想录刷题训练-字符串● 344.反转字符串 ● 541. 反转字符串II ● 剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-II.左旋转字符串

文章目录1.反转字符串(要求O(1)的额外空间)2.反转字符串23.替换空格4.反转字符串中的单词5.剑指Offer58-II.左旋转字符串1.反转字符串(要求O(1)的额外空间)LeetCode链接编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。swap常见的两种交换形式常见的值交换通过位运算classSolution{public:voidreverseString(vectorchar>&s){intl=0,h=s.size()-1;chartemp;while(l

第13天-代码随想录刷题训练-第六章 二叉树和迭代 ● 递归遍历 ● 迭代遍历 ● 统一迭代

文章目录递归三要素1.递归遍历二叉树2.迭代遍历二叉树3.统一迭代法递归三要素确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数,并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。确定终止条件:写完了递归算法,运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。确定单层递归的逻辑:确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现递归的过程。LeetCode链接144.二叉树的前序遍历145.二叉树的后序遍历

第12天-代码随想录刷题训练-第五章 栈和队列3 - ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素

文章目录今天主要是队列的应用1.滑动窗口最大值(困难-单调队列)2.前K个高频元素(大顶堆和小顶堆)今天主要是队列的应用1.滑动窗口最大值(困难-单调队列)LeetCode原题给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值思路暴力方法,每次遍历窗口内的数据,遍历(n-k+1)次,时间复杂度为k*n滑动窗口的过程很像是一个队列,每次遍历一个元素都要pop一个元素,push一个元素,最后再getMax因此这是一个优先级队列,C++中相当于实现一个大顶堆,头部元素是最大值,底层

Leetcode刷题之反转链表Ⅱ

业精于勤而荒于嬉,行成于思而毁于随。           ——韩愈目录前言:🍁一.反转链表Ⅱ🍒1.left和right中间链表反转,再把反转链表和剩下的链接起来🗼2.left和right中间链表头插 题目描述:给你单链表的头指针head和两个整数 left和right,其中 left示例1:输入:head=[1,2,3,4,5],left=2,right=4输出:[1,4,3,2,5]示例2:输入:head=[5],left=1,right=1输出:[5]提示:链表中节点数目为 n1-5001做题链接: 反转链表Ⅱ前言:之前我们写了反转链表,它是把全部的链表反转过来,难度是简单。而这个题是把l

力扣刷题|L24. 两两交换链表中的节点 、L19.删除链表的倒数第N个节点 、L面试题 02.07. 链表相交 、L142.环形链表II

今天的刷题最大的收获,便是学会了在群里跟大家进行讨论,这样得到的答案,往往能更快的提高效率,希望自己能继续坚持下去。L24.两两交换链表中的节点https://leetcode.cn/problems/swap-nodes-in-pairs/submissions/本题主要考虑双指针法,也就是如何判断虚拟节点不动的情况,这是一个难点,可以利用另一个节点来等于虚拟节点,然后再利用两个局部变量,来完成还原,这样虚拟节点还是没有变,但是其指向的值会发生变化,以后返回某个值,只需要将虚拟节点固定,利用一个值来取代该值,对该值进行变化即可classSolution{public: ListNode*sw

华为OD机试 - 五键键盘 | 备考思路,刷题要点,答疑 【新解法】

最近更新的博客【新解法】华为OD机试-关联子串|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-停车场最大距离|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-任务调度|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-英文输入法|备考思路,刷题要点,答疑,odBase提供【新解法】华为OD机试-流水线|备考思路,刷题要点,答疑,odBase提供使用说明参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。

学弟学妹少走弯路,超完整算法刷题路线出炉

大家好,我是帅地。本篇文章主要讲解下面三个事:1、自己学习算法的一些经历2、大家学习算法存在的一些普遍问题3、给大家规划的算法刷题路线一、算法学习往事记得当初学了C语言就开始刷题了,刷题倒不是面试,而是为了通过转专业考试,因为我大一第一学期读的是非计算机专业,了解到转专业需要做一些简单的算法题,那会我就给同学借了学校的OJ账号,开启了一波刷题之路。到了第二学期转专业考试,也是轻松通过的考试,因为对我来说,那些试题太简单啦。到了大一第二学期之后,我就慢慢开始学习数据结构了,在OJ上也没怎么刷题了,因为比较简单的题都被我刷了,剩下的都是一些比较难的题,有些刷不动,就没刷。那会刷的题都比较考察思维,

背完LeetCode刷题模板,真的不一样!(已拿字节offer)

最近,一份leetcode刷题模板在各种刷题和求职群疯传!有人背完之后就刷了150题,拿下字节等大厂offer。△手撕算法无压力眼看暑假一过就是每年竞争最激烈的秋招了。今年市场缩招的情况下,比刷题堆量更重要的是快速占坑! 刷题3遍,不如北大学霸“模板”过一遍今年裁员缩招的大背景下,大厂无论从竞争程度还是面试难度,都变高了!无数人眼馋高薪,却也被面试难度劝退:大厂纷纷拔高面试门槛,难度上,校招≥社招;P7/8的老鸟跳槽,面试仍被问算法八股文;算法面试每个问题都会深挖底层原理,bugfree是最基本的要求;没有项目经验,就会被一个劲的问算法;面试官还常要求给出最优解。目录展示​​学习算法和刷题的框

肝了一个月,我做了个免费的面试刷题网

大家好,我是鱼皮。如今找工作、面试实在是太卷了,每轮面试都必考八股文,不背不行。网上虽然有很多面试题,但过于分散,就导致很多朋友又不知道到哪去找题、该背哪些题了。所以我决定做一个完全免费、干净全面的面试刷题网,帮助大家高效复习、通过面试。有了这个想法后,我就踏上了一条爆肝的不归路。从需求分析、产品调研、设计、技术选型、买域名、买设备、开发、测试、部署、上线、修Bug,都是我在下班之余熬夜完成的,还找了很多小伙伴一起上传内容。真的花了很多人力、财力、精力,甚至元旦都在拉着女朋友跟我一起搞代码。。。终于,在一个月后的今天,我的网站面试鸭正式上线了!地址:https://mianshiya.com有