随笔分类 -  面试题

摘要:一、数字串转换为字符串 1-26个数字分别代表26个字符(A-z)输入"12326〞就可以拆分为【1,2,3,2,6】、(12, 3, 2, 6]. [1, 23, 2, 6]【1,23,26】、【12,3,26】等,将每种组合转成成对应字母输出,输出所有可能的结果返回所有可能的转换结果// 将数字 阅读全文
posted @ 2024-12-12 17:48 知道了呀~ 阅读(18) 评论(0) 推荐(0) 编辑
摘要:内存池的实现和管理(一) 内存池的实现和管理(二) 前面两篇博客主要介绍了内存池的原理和实现,这篇博客主要是介绍如何优化多线程安全的内存池 内存池的实现和管理(二)中内存池的实现代码存在的问题 虽然在内存申请和释放的时候,使用lock_guard()实现了多线程安全的内存池,但是频繁的加锁和解锁带来 阅读全文
posted @ 2020-12-15 15:54 知道了呀~ 阅读(1326) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<string> #include<string.h> #include<stack> #include<queue> #include<map> #include<set> #include<algorithm> #include<memory 阅读全文
posted @ 2020-09-12 20:34 知道了呀~ 阅读(418) 评论(0) 推荐(0) 编辑
摘要:进行一次快排即可 class Solution { public: vector<int> exchange(vector<int>& nums) { int le = 0; int ri = nums.size() - 1; while(le<ri){ while (le < ri&&nums[r 阅读全文
posted @ 2020-08-29 21:06 知道了呀~ 阅读(311) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<string> #include<string.h> #include<stack> #include<queue> #include<map> #include<set> #include<vector> #define ll long lo 阅读全文
posted @ 2020-08-29 19:09 知道了呀~ 阅读(755) 评论(0) 推荐(0) 编辑
摘要:class Solution { public: string addStrings(string num1, string num2) { string s = ""; int i = num1.length()-1; int j = num2.length()-1; int ans = 0; w 阅读全文
posted @ 2020-08-18 16:04 知道了呀~ 阅读(691) 评论(0) 推荐(0) 编辑
摘要:一条链表如何判断是否有环?若是有环那怎么找到链表环的入口? 解决思路 先判断是否有环 思路: 用快慢两个指针分别从链表头开始,慢指针一次走一个节点,快指针一次走两个节点next -> next,这样如果有环那快指针务必会跑到慢指针后面,随即两者之间的距离一次会缩小一步,最终相遇。若是未相遇且快指针的 阅读全文
posted @ 2020-08-04 20:36 知道了呀~ 阅读(704) 评论(0) 推荐(0) 编辑
摘要:亲7数 大致问题是:给定一些个位数如[1,1,2,0]这种,计算完全使用这些数字构成的数能整除7的个数 输入 1 1 2 输出 2 一开始想用next_permutation()直接秒的,后来测试不对,对于重复的元素排列组合,只会算是同一种情况 比如1 1 2的全排列应该是有 1 1 2 1 1 2 阅读全文
posted @ 2020-08-01 20:58 知道了呀~ 阅读(404) 评论(0) 推荐(0) 编辑
摘要:小易有一个初始为空的数字集合,支持两种操作: 1、加入数字x到集合中。 2、询问集合中是否存在一个子集,满足子集中所有数字的Or值恰好为k。 Or为二进制按位或操作,C++中表示为"|"。 小易希望你能解决这个问题。 思路:或运算的规则是有1 就为1 判断子集的所有或运算值是否和k相等,只要把符合条 阅读全文
posted @ 2020-07-31 17:21 知道了呀~ 阅读(524) 评论(0) 推荐(0) 编辑
摘要:思路:从左往右遍历一遍高度值,在[ 0 , i ]范围内,求以height[ i ]为高度值能取的最大面积,不断更新这个最大面积即为最终结果 以某个柱子作为高度的最大面积如何求? >单调递增栈 举个例子:给定柱子的高度分别为2 1 5 6 2 3 下标在[0,2]的范围内,以5为高的最大面积为5*1 阅读全文
posted @ 2020-07-31 17:14 知道了呀~ 阅读(284) 评论(0) 推荐(0) 编辑
摘要:https://baijiahao.baidu.com/s?id=1663349019029796519&wfr=spider&for=pc 阅读全文
posted @ 2020-07-21 10:42 知道了呀~ 阅读(207) 评论(0) 推荐(0) 编辑
摘要:一、双递归 遍历二叉树的每一个节点,然后以该节点为dfs的搜索起点,判断累加和是否为给定值,进行计数 class Solution { public: int pathNumber = 0; int pathSum(TreeNode* root, int sum) { if (!root) retu 阅读全文
posted @ 2020-07-20 22:04 知道了呀~ 阅读(196) 评论(0) 推荐(0) 编辑
摘要:LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。 1存 阅读全文
posted @ 2020-07-19 09:15 知道了呀~ 阅读(614) 评论(0) 推荐(0) 编辑
摘要:在一个无序数组中,存在一个数,它出现的次数大于数组长度的一半。输出这个数 一、排序、遍历 二、摩尔投票法 摩尔投票算法是一种使用线性时间和常数空间查找大部分元素序列的算法。 最简单的形式就是,查找输入中重复出现超过一半以上(必须大于n/2,等于不算)的元素。如果序列中没有这种元素,算法不能检测到正确 阅读全文
posted @ 2020-07-18 18:24 知道了呀~ 阅读(1101) 评论(0) 推荐(0) 编辑
摘要:从头开始遍历字符串,对每一个遍历过的字符判断是否被标记过,若标记过,则更新左边界le=vis[temp]+1,同时更新当前不重复子串的长度;否则用数组下标进行标记,不断右移右边界ri,更新最大长度 class Solution { public: int lengthOfLongestSubstri 阅读全文
posted @ 2020-07-13 10:17 知道了呀~ 阅读(252) 评论(0) 推荐(0) 编辑
摘要:题目连接 https://www.acwing.com/problem/content/121/ 输入样例: 2 4 0 0 0 1 1 0 1 1 2 2 2 3 3 2 3 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 输出样例: 1.414 0.000https:// 阅读全文
posted @ 2020-06-21 22:26 知道了呀~ 阅读(1134) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1007 题意:即给定坐标系上N个点,找到距离最短的两个点。 参考博客:https://www.cnblogs.com/zyxStar/p/4591897.html #include <iostream> #incl 阅读全文
posted @ 2020-06-21 22:22 知道了呀~ 阅读(365) 评论(0) 推荐(0) 编辑
摘要:堆的定义 堆就是一棵可以自我平衡的完全二叉树 优先队列的底层数据结构就是堆,实现和堆基本一样 由于堆存储在下标从0开始计数的数组中,因此,在堆中给定下标为i的结点时: 如果 i = 0,结点 i 是根结点,无父结点;否则结点 i 的父结点为结点 [(i - 2) / 2] 如果 2i + 1 > n 阅读全文
posted @ 2020-05-14 23:08 知道了呀~ 阅读(3993) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示