入门算法
文章平均质量分 67
偶尔刷题后记录一下,加深记忆和理解
404keke
这个作者很懒,什么都没留下…
展开
-
用Quick Select解决TopK问题
TopK问题:从Quick Sort到Quick Select写这篇文章的目的也是为了巩固下基础。TopK问题链接:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/从一组数中找到最小的k个数(数组不为0、0 <= k < =size)方法一,STL自带sort函数class Solution {public: vector<int> getLeastNumbers(vector<int>原创 2021-03-21 20:59:04 · 296 阅读 · 0 评论 -
买卖股票最佳时机及衍生题
买卖股票最佳时机及其衍生题面试被问到了这系列问题,只能在事后亡羊补牢……题目一:能多次买卖股票,带手续费因为单次买卖的题目比较简单,所以跳过;多次买卖不带手续费和这题也一样,所以直接讨论这题:“给定一个整数数组prices,其中第i个元素代表了第i天的股票价格;非负整数fee代表了交易股票的手续费用。可以无限次地完成交易,但是每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。”方法一,STL自带sort函数class Solutio原创 2021-04-22 19:22:55 · 532 阅读 · 0 评论 -
C++ srand()只能调用一次,否则rand()每次返回相同值
C++ srand()只能调用一次,否则rand()每次返回相同值面试的时候写一个洗牌算法,接过遇到这个问题坑死我了,幸运的是面试官也不太看得出来问题出在哪,所以给了我足够时间去调试……问题描述:自己创作的洗牌算法:#include <iostream>#include <ctime>using namespace std;int GetRandomNumber(){ int RandomNumber; srand((unsigned)time原创 2021-03-23 12:07:55 · 2421 阅读 · 5 评论 -
二叉树的指针操作误区
二叉树的指针操作误区:力扣的一道简单题:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/问题描述:镜像二叉树,很快就想到用递归去做,然后写下了如下的代码: TreeNode* mirrorTree(TreeNode* root) { if (!root) return root; reverseRoot(root, root->left, roo原创 2021-03-15 12:58:19 · 175 阅读 · 0 评论 -
使用回溯法/DFS时慎用“++”、“- -”符号:
使用回溯法/DFS时慎用“++”、“- -”符号:题目源于:剑指offer第12题,力扣链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/问题描述:题目是输入一个字符矩阵和一个字符串,判断是否可以在矩阵中找到一条路径满足该字符串。题目本身不算难,直接用回溯法/DFS,从找到第一个符合的字符开始(图中为A),向该字符的上、下、左、右位置的字符寻找,看是否能找到符合的第二、三个字符。所以我写出了如下的代码:if原创 2021-03-12 12:19:12 · 144 阅读 · 0 评论