- 博客(9)
- 收藏
- 关注
原创 算法 - 回文数
Palindrome NumberDetermine whether an integer is a palindrome. An integerisapalindrome when itreads the same backward as forward.Example 1:Input: 121Output: trueExample 2:Input: -121Output: falseExplanation: From left to right, it reads...
2020-05-31 16:54:48 131
原创 算法 - 迷宫问题
Open the lockYou have a lock in front of you with 4 circular wheels. Each wheel has 10 slots:'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'. The wheels can rotate freely and wrap around: for exam...
2020-05-31 16:25:26 194
原创 C++基础
成员变量的Set/Get#ifndef CLASS_MACRO_H#define CLASS_MACRO_H#define XX_GET_SET(varType, varName, funName)\private: varType varName;\public: inline varType get##funName(void) const {return varName;}\public: inline void set##funName(varType var) {varName
2020-05-30 14:47:04 114
原创 算法 - 去除有序数组的重复元素
题目把一个有序数组里面的重复数字去掉,最终数组是无重复的有序数列,要求时间复杂度O(n), 空间复杂度O)(1)。思路对于数组来说,在尾部插入、删除元素是比较高效的,时间复杂度是 O(1),但是如果在中间或者开头插入、删除元素,就会涉及数据的搬移,时间复杂度为 O(N),效率较低。对于数组相关的算法问题,有一个通用的技巧:要尽量避免在中间删除元素,那我就想先办法把这个元素换到最后去。这样的话,最终待删除的元素都拖在数组尾部,一个一个 pop 掉就行了,每次操作的时间复杂度也就降低到 O(1)
2020-05-24 22:15:08 503
原创 算法 - 判定括号合法性
题目输入一个字符串,其中包含[](){}六种括号,请你判断这个字符串组成的括号是否合法。示例Input: "()[]{}"Output: trueInput: "([)]"Output: falseInput: "{[]}"Output: true思路:使用栈先进后出的特征在栈顶匹配解法:#include <string>#include <stack>#include <iostream>using namespa..
2020-05-24 22:04:14 823
原创 算法 - 滑动窗口最大值
问题给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。
2020-05-16 20:26:45 5345 1
原创 算法:收集雨水
问题Givennnon-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.The above elevation map is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6 units of..
2020-05-15 10:02:14 521
原创 算法 - 盛最多水的容器
问题给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。算法:#include <iostream>#include <vector>using namespace std;#define min(x,y) ((...
2020-05-14 23:00:53 116
转载 算法 - skiplist
简介SkipList(跳表)这种数据结构是由William Pugh于1990年在在Communications of the ACMJune 1990, 33(6) 668-676 发表了Skip lists: a probabilistic alternative to balanced trees,在其中详细描述了他的工作。由论文标题可知,SkipList的设计初衷是作为替换平衡树的...
2020-05-07 13:17:59 383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人