
ACM与LeetCode
文章平均质量分 95
一些数据结构相关算法习题笔记。
小小何先生
总是感觉自己是个英雄,还很帅!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode刷题系列(三)排序
文章目录题目考点题目考点list相加。解法1:解法2:解法3:原创 2020-09-22 22:46:55 · 440 阅读 · 0 评论 -
LeetCode刷题系列(二)二分查找、二叉排序树 的应用
文章目录题目考点题目考点原创 2020-09-19 23:59:08 · 304 阅读 · 0 评论 -
LeetCode刷题系列(一)把回溯算法框架将给爷爷奶奶听
文章目录题目考点题目a=[1,2,3]b= [(1),(2),(3)]c = [(1,).(2,),(3,)] 问:a,b,c有什么区别? a,b里面装的都是int类型数据,c里面装的是元组。考点()默认的情况下表示的是优先级。比如说a=(1),a的类型其实是为int。如果python中的元组只存储一个数据。那么元组最后一个元素后面必须跟上一个逗号。...原创 2020-09-19 23:29:10 · 423 阅读 · 0 评论 -
ACM 学习笔记(七) 贪心
文章目录题目考点题目考点原创 2020-09-23 15:46:18 · 377 阅读 · 0 评论 -
ACM 学习笔记(六) 图论
题目考点 a=b这一项a与b使用的是同一个list。c浅拷贝不会copy出list中内存地址指向的数据。d深拷贝会copy出list中存的地址所指向的数据。这里一定要注意python里面的等号是不拷贝的。原创 2020-09-23 15:39:57 · 317 阅读 · 0 评论 -
ACM 学习笔记(五) 动态规划
文章目录队列栈队列 队列是先近先出的数据结构(FIFO)。插入(insert)操作也称作入队(enqueue),新元素始终被添加在队列的末尾。 删除(delete)操作也被称为出队(dequeue)。 你只能移除第一个元素。#include <iostream>class MyQueue { private: // store elements vector<int> data; // a pointe原创 2020-06-15 20:10:45 · 350 阅读 · 1 评论 -
ACM 学习笔记(四) 数据结构之树、二叉树、完全二叉树、二叉查找树、AVL树、红黑树、B树、B+树
文章目录核心要点集合列表数组编程实例一维数组合并区间二维数组旋转图像对角线遍历字符串简介最长公共前缀翻转字符串里的单词双指针移除元素 本文主要为LeetCode刷题学习笔记。核心要点集合 集合里的元素类型不一定相同。 集合里的元素没有顺序。列表 是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。 列表最常见的表现形式有数组和链表,而栈和队列则是两种特殊类型的列表。数组 数组与列表的区别在于索引。索引是数组中的一个重要概念,列表中没有索引这个概念。在大多原创 2020-06-06 19:09:14 · 506 阅读 · 1 评论 -
ACM 学习笔记(四) 数据结构之列表、数组、栈、队列
题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。思路解析 先将整个字符串全部反转,之后再从后往前,按照空格间隙依次输出。C++实现class Solution {public: string rever原创 2020-06-04 20:50:17 · 445 阅读 · 1 评论 -
ACM 学习笔记(三) 数学入门
题目解析 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。4. 1 阶 + 1 阶 + 1 阶5. 1 阶 + 2 阶6. 2 阶 + 1 阶思路解析 关键就在于当楼梯数n+1阶时,与n阶有什原创 2020-06-04 10:02:07 · 382 阅读 · 0 评论 -
ACM 学习笔记(二) 位运算、并查集、模拟、枚举、递推、递归
题目描述 给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], 长度为1。注意:数组长度不会超过10000。初步解题思路 整体思路就是当前数字与上一个数字一个一个对比。然后计数判断最长的递增原创 2020-05-31 11:54:58 · 354 阅读 · 1 评论 -
ACM 学习笔记(一) 常用STL讲解
文章目录题目描述初步解题思路Python实现进阶解题思路Python实现C++实现题目描述 一个长度为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 <= 数组长度 <= 10000初步解题思路 由于其给定数组是递增排序好的,这道题目我一原创 2020-05-30 13:38:14 · 540 阅读 · 1 评论