数据结构
huangyitai
这个作者很懒,什么都没留下…
展开
-
腾讯精选练习:LRU缓存机制(unordered_map+hash)
LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥已经存在,则变更其数据值;如果密钥不存在,则插入该组「密钥/数据值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进阶:你是否可以原创 2020-05-18 15:34:21 · 125 阅读 · 0 评论 -
剑指offer:面试题40 最小的k个数
面试题40 最小的k个数输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]分析这是一道非常经典的题目,有三种做法:1、直接sort排序取前K大2、堆排序3、快排思想第一种解法太无聊不说了2、堆排序堆就是根节点大于孩子结点,兄弟结点不区原创 2020-05-08 21:01:09 · 85 阅读 · 0 评论 -
剑指offer:面试题36 二叉搜索树与双向链表
二叉搜索树与双向链表输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。leetcode真的狗,一份好好的代码交了十几次过不了,去牛客网一次就过了,呸呸呸。#include<bits/stdc++.h>using namespace std;// Definition for a TreeNode.class...原创 2020-05-08 15:37:34 · 195 阅读 · 0 评论