刷题笔记
Roken24
见习程序猿
展开
-
LeetCode刷题笔记十二---汉诺塔、FizzBuzz
汉诺塔问题在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子只能叠在比它大的盘子上。请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。你需要原地修改栈。class Solution {public: void move(int n,vec原创 2020-09-26 22:51:04 · 98 阅读 · 0 评论 -
牛客网刷题笔记---4399篇
1、在Internet中,用于文件传输的协议是()POP(Point of Production)终端,是指处理生产时信息的终端。HTML(HyperText Markup Language)超文本标记语言,标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。FTP 是File Transfer Pr原创 2020-08-20 16:24:22 · 1070 阅读 · 0 评论 -
LeetCode刷题笔记(十一)--- 子串划分、stack存储树遍历节点、BST理解
文章内容为LeetCode刷题笔记,如发现错误请多多指教33、翻转单词顺序:子串划分,字符串逆置输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。class Solution {public: string reverseWords(string s) { int k = 0; for (int i = 0;原创 2020-07-30 16:21:22 · 179 阅读 · 0 评论 -
LeetCode刷题笔记(十)--- 二叉树深度统计、异或运算、字符串旋转(字符逆置)
文章内容为LeetCode刷题笔记,如发现错误请多多指教29、二叉树深度:二叉树深度的统计方法输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。关于深度的计算,可以有两种办法:1、递归 2、层次遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * Tree原创 2020-07-29 22:34:48 · 266 阅读 · 0 评论 -
LeetCode刷题笔记(九)--- Hash、链表、回文
文章内容为LeetCode刷题笔记,如发现错误请多多指教26、回文字符串:hash思想给定一个仅由小写字母组成的字符串。现在请找出一个位置,删掉那个字母之后,字符串变成回文。请放心总会有一 个合法的解。如果给定的字符串已经是一个回文串,那么输出-1。我们可以从头部和尾部进行字符比较,因为如果是回文字符串的话,头尾是相同的,如果遇到不同的,我们要找的值不是头指针指向的这个值就是尾指针指向的值,只需要在验证下就可以了#include<iostream>#include<string原创 2020-07-29 15:11:22 · 152 阅读 · 0 评论 -
LeetCode刷题笔记(八)--- topK与简单动规
文章内容为LeetCode刷题笔记,如发现错误请多多指教23、数组中出现次数超过一半的数字:数组使用,简单算法的设计数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。这个题是比较简单的,可以有三种思路:1、定义map,使用<数字,次数>的映射关系,最后统计每个字符出现的次数。2、将数组排序,那么超过数组大小一半的数字肯定在数组中间位置,然后统计该数字的次数是否符合要求3、目标条件:目标数据超过数组长度的一半,那么原创 2020-07-28 21:33:40 · 188 阅读 · 0 评论 -
LeetCode刷题笔记(七)--- DFS
文章内容为LeetCode刷题笔记,如发现错误请多多指教22、字符串的排列问题:全排列问题,DFS输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。全排列问题可以看做如下多叉树形态:很明显,如果我们想要得到合适的排列,我们要用到深度优先遍历,该问题可以把目标串分成两个部分,第一部分呢是哪个字符作为开头,第二部分就是该字符做开头的子部分,所以让所有的字符做一遍开头,再求解子问题就可以了。class Solution {public:原创 2020-07-27 23:17:45 · 163 阅读 · 0 评论 -
LeetCode刷题笔记(六)--- 二叉搜索树与DFS
文章内容为LeetCode刷题笔记,如发现错误请多多指教20、二叉搜索树的后序遍历序列:BST的特征理解输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。要完成这个题,首先我们要明白几个定义1、二叉搜索树的左子树元素值都小于根节点,右子树的元素值都大于根节点2、后序遍历:先左子树后右子树最后根节点那么我们就可以根据这个来判断,因为后序遍历的最后一个值肯定是根节点,那么就可以根据这个值将数组分成两段原创 2020-07-27 17:09:04 · 121 阅读 · 0 评论 -
LeetCode刷题笔记(五)--- 栈相关
文章内容为LeetCode刷题笔记,如发现错误请多多指教17、包含min函数的栈:栈的规则性设计定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。对于这个问题,我们可以采取用一个辅助栈的方法来解决,这个辅助栈栈头元素永远是数据的最小值,当需要最小值时返回辅助栈的栈头即可class MinStack {public: /** initialize your data structure her原创 2020-07-24 21:42:40 · 213 阅读 · 0 评论 -
LeetCode刷题笔记(四) --- 二叉树,链表相关
文章内容为LeetCode刷题笔记,如发现错误请多多指教链表、二叉树11、链表中倒数第k个节点:前后指针的使用,边界条件检测12、反转链表:链表操作,思维缜密程度13、合并两个排序链表:链表合并14、树的子结构:二叉树理解,二叉树遍历15、二叉树的镜像:二叉树操作16、删除排序链表中的重复元素11、链表中倒数第k个节点:前后指针的使用,边界条件检测输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,原创 2020-07-23 18:10:46 · 131 阅读 · 0 评论 -
LeetCode刷题笔记(三)--- 斐波那契数列,动态规划相关
文章内容为LeetCode刷题笔记,如发现错误请多多指教刷题笔记 三5、从尾到头打印链表:链表相关,多结构混合使用,递归6、二叉树重建:遍历理解,递归7、斐波那契数列:空间复杂度,剪枝重复计算,fib理解8、青蛙跳台阶问题:场景转化模型,动规,递归9、矩形覆盖:场景转化模型,特殊情况分析,简单dp10、二进制中1的个数:二进制计算5、从尾到头打印链表:链表相关,多结构混合使用,递归输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。从尾到头打印链表,我们可以有多种方法,比如全部把值原创 2020-07-22 20:46:49 · 272 阅读 · 0 评论 -
LeetCode刷题笔记(二) --- 数组相关
1、二维数组中的查找:数组特性观察,时间复杂度把握2、旋转数组的最小数字:二分查找,临界条件3、按奇偶排序数组:数组操作,排序思想拓展应用4、替换空格:字符串相关,特性观察,临界条件处理1、二维数组中的查找:数组特性观察,时间复杂度把握在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数针对这个问题,我们首先要明确一个观点,那就是查找的过程,实际是排除的过程,我们当然可以.原创 2020-07-21 23:04:33 · 188 阅读 · 0 评论 -
LeetCode刷题笔记(一)---剑指Offer前二十
1、c++中有可以直接用的排序算法:sort函数,具体用法为sort(iterator start, iterator end );放入数组的起始位置和终止位置即可,比如sort(nums.begin,nums.end);sort()函数是标准模板库的的函数,已经进行了优化,根据情况的不同可以采用不同的算法,所以较快。另外,sort()是类属函数,可以用于比较任何容器,任何元素,任何条件。2、c++中获取二维数组行列数的方法:行:sizeof(a)/sizeof(a[0]),列:sizeof(a)/si原创 2020-07-04 12:19:55 · 169 阅读 · 0 评论