日常算法
月光骆驼
好久不更新了,学到了很多都还没总结,todo已经行成递归了
展开
-
算法题: 三数之和的多种可能
算法题: 三数之和的多种可能这是本人第一次写博客,之前总结一些内容都是使用印象笔记,后来觉得笔记这个东西自己记了有的时候很久才会去看,可能根本不会回去再看,索性把自己积累知识的过程写成blog,这样你们也可以借鉴参考,何乐而不为呢!题目详情:(来源LeedCode)给定一个整数数组 A,以及一个整数 target 作为目标值,返回满足 i < j < k 且 A[i] + A[j...原创 2019-05-06 12:38:14 · 892 阅读 · 1 评论 -
算法:二分查找小结
二分查找总结二分查找法作为一种常见的查找方法,将原本是线性时间提升到了对数时间范围,大大缩短了搜索时间,但它有一个前提,就是必须在有序数据中进行查找。二分查找很好写,却很难写对,据统计只有10%的程序员可以写出没有bug的的二分查找代码。出错原因主要集中在判定条件和边界值的选择上,很容易就会导致越界或者死循环的情况。下面对二分查找及其变形进行总结:1 最基本的二分查找 publi...原创 2019-05-18 17:23:43 · 292 阅读 · 0 评论 -
全排列问题
全排列问题输入一个字符串,打印出该字符串中字符的所有排列。例如:输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。解题思路:把一个字符串看成两部分组成:第一部分为第一个字符,第二部分为后面的所有字符。求整个字符串的排列,可以看出两步:首先求所有可能出现在第一个位置的字符,即把第一个字符和后面的所有字符交换;然后固定第一个字...原创 2019-06-13 16:44:17 · 216 阅读 · 0 评论 -
布隆过滤器及常用的字符串哈希算法
先把这个元素作为k个哈希函数的输入,拿到k个数组位置,然后把所有的这些位置置为1。原创 2019-06-10 19:58:37 · 3422 阅读 · 2 评论 -
二叉树的前中后遍历以及非递归实现
废话不多说直接上代码,敲了一小时才敲出来,哈哈哈,中序遍历非递归不好想#include<iostream>#include<vector>#include<stack>using namespace std;class TreeNode{public: TreeNode(int data) :val(data) {}; ~TreeNode(...原创 2019-06-10 21:59:06 · 245 阅读 · 0 评论 -
排序:多线程版本的归并排序
多线程版本的归并排序这里的TR和TR2都无需加锁,因为每个Msort处理的数据段都是不一样的。#include <iostream>#include <thread>#include <vector>using namespace std;void merge(vector<int> TR2, vector<int>&a...原创 2019-06-26 20:57:00 · 760 阅读 · 0 评论 -
LRU的实现
闲来无聊,这几天疯狂面试,被各大厂商疯狂输出,然后今天下午字节一面过了,为应对面试写了LRU的c++实现,使用的是双向链表+map。LRU.h#ifndef _LRU_H#define _LRU_H#include <map>class CatchLRU{public: CatchLRU(int size); ~CatchLRU(); struct Catch...原创 2019-07-14 17:28:25 · 290 阅读 · 0 评论