算法|面试
文章平均质量分 68
身披白袍
从简单的实例开始。
展开
-
[算法][动态规划]计算组合数和排列数
计算组合数和排列数的一些技巧原创 2020-11-10 23:21:21 · 2666 阅读 · 0 评论 -
[算法][面试题]疯狂队列-排列使得序列两两间“差值的绝对值“之和最大
给定一个数列A,数列中相邻两项的差值的绝对值定义为“疯狂值”。任意排序这个数列,使得整个数列的“疯狂值”最大,输出这个最大值。原创 2020-10-24 10:49:51 · 5526 阅读 · 1 评论 -
[算法]优先队列之左偏树
配对堆的核心要义在于合并, 关键在于保证树的偏向性。原创 2020-09-21 22:37:39 · 361 阅读 · 0 评论 -
[算法][面试]开源一下我的python板子:前缀和、差分数组、线段树、树状数组
关于区间查询和修改问题,开源一下我的四个板子,根据不同的复杂度,适用于不同的场景。其中,所有的板子都封装成一个类,开箱即用;在性能上,如树状数组不必手敲的C-like数组板子效率高,但好就好在拿来就用不需要考虑变量名啥的,并且API尽量做到统一。原创 2020-09-21 22:15:49 · 493 阅读 · 0 评论 -
[算法]优先队列之配对堆
配对堆的核心要义在于合并,只要掌握到合并的精髓就能很快的手撸一个配对堆。由于配对堆的插入复杂度只有常数级别,在通常情况下弹出最小值的性能也会由于二叉堆(Java、Python等语言中优先队列的默认实现),所以在做Prim时会有优势。原创 2020-09-13 23:00:31 · 704 阅读 · 0 评论 -
[算法][面试]基于Python的跳表实现样例
[算法][面试]基于Python的跳表实现样例原创 2020-09-10 18:06:10 · 267 阅读 · 0 评论 -
[面试][算法]任意进制整数/小数间的转换
任意进制整数/小数间的转换原创 2020-09-03 19:32:14 · 546 阅读 · 0 评论 -
[面试][算法]基于二叉树的先序中序后序遍历序列重建二叉树
基于任意两种遍历序列都可以重建二叉树吗?重建二叉树和二叉树的反序列化有何区别?如何基于双序列重建二叉树?原创 2020-09-03 11:41:20 · 299 阅读 · 0 评论 -
[算法][面试]二叉树的序列化与反序列化(bfs|先序、后序)
序列化与反序列化主要分为两个流派:dfs和bfs;由于二叉树的特殊性,dfs分为前序、中序、后序遍历,但只有前序和后序遍历可以进行反序列化。原创 2020-09-03 11:31:04 · 488 阅读 · 0 评论 -
[算法][面试]二叉树非递归形式的遍历及层级遍历
层级遍历:指针标识法、对象标识法、队列计数法;非递归遍历提供了模范法和根节点性质法。原创 2020-09-03 11:21:42 · 212 阅读 · 0 评论 -
[算法][Python]随机生成一棵具有N个节点的二叉树
查了一圈网上现有的资料,基本都是“天下文章一大抄”或者过时、甚至无法运行的代码,也没有讲明原理,代码质量烂得一比,怒而亲自动手。原创 2020-08-31 23:18:41 · 1994 阅读 · 2 评论 -
[面试][位运算]数组中仅出现1次的数字-套题收集
[面试][位运算]数组中出现一次的数组-套题收集原创 2020-07-08 23:29:55 · 283 阅读 · 0 评论 -
【面试】Redis的要点笔记和大纲
Redis的要点笔记和大纲原创 2020-07-05 17:46:05 · 347 阅读 · 0 评论 -
【面试笔记摘要】数据库事务的四大特性和隔离级别
笔记:数据库事务的四大特性和隔离级别原创 2020-06-27 17:30:49 · 216 阅读 · 0 评论 -
[笔记]常见排序算法的Python实现和性能整理
[笔记]常见排序算法的Python实现和性能整理转载 2020-06-20 23:28:27 · 186 阅读 · 0 评论 -
[JAVA][面试][多线程]多方法解决循环打印1~n的数字
JAVA面试题:多线程循环打印1~n的数字,多方法解决思路。原创 2020-05-30 11:33:23 · 1056 阅读 · 0 评论 -
[算法][经典面试题]M层楼扔鸡蛋问题
M层楼丢N个鸡蛋,至多几次可以测出鸡蛋在几层会破。本文仅作记录,并将该文中指代较为不明确的代码改写成Python代码。转载 2020-05-10 01:15:32 · 708 阅读 · 0 评论 -
[算法][动态规划]跳台阶问题的变体题目(可一次跳三阶但仅能用一次|可跳任意阶)
已知小明上楼梯时每次只能跨 1~2 个阶梯,并在任意时刻可以选择一步跨三阶,但至多只能使用一次,假定小明从地面(第0阶)开始上台阶,要上到第 $n$ 个阶梯共有多少种走法并输出走法?原创 2020-05-08 01:37:03 · 1136 阅读 · 0 评论 -
[算法][经典面试题]数组中只出现一次的数字|变体题目(一个不重复、二个不重复)
讨论了数组中只出现一次的数字及其变体(一个不重复、二个不重复)的解决思路。原创 2020-05-08 01:09:13 · 297 阅读 · 0 评论 -
[Python][刷题常用模块]用Python刷题,这一篇就够了
最近在刷LeetCode,某种意义上要做题做的快对STL保持熟悉度是蛮重要的,至少在求和、排序、查找时就不用重复敲代码了。于是,整理了部分常用python算术/数据结构/数理模块,以及相应的对TLE敏感的操作,希望能帮助到其它人。原创 2020-05-01 02:37:38 · 9714 阅读 · 4 评论 -
[leetcode][牛客]关于使用Python答题时报maximum recursion depth exceeded in comparison的劣势和解决方法
这道题本身就是一个DFS加上剪枝,但是受限于python默认的最大递归深度,会出现某些数据爆函数栈的问题,而同样的算法使用C++则不会有问题。原创 2020-04-25 22:47:46 · 908 阅读 · 0 评论 -
[算法][动态规划]背包问题变体-均分礼物
给定一个礼物价值清单,将其进行划分为两个子集,以使得两个子集的价值和的差值最小原创 2020-04-22 00:08:01 · 1847 阅读 · 0 评论 -
[python]从蛇形打印矩阵说开去
手撕题常客,不是很难,但是思路比较多。原创 2020-04-14 21:43:58 · 1104 阅读 · 2 评论 -
[算法][动态规划][腾讯面试手撕题]抛硬币问题
有一些不规则的硬币。在这些硬币中,p[i]表示第i枚硬币正面朝上的概率。请对每一枚硬币抛掷一次,然后返回正面朝上的硬币数等于n的概率。原创 2019-11-03 12:21:40 · 1058 阅读 · 0 评论 -
[Java]进制转换代码实例·初级
二进制与十进制互转,十以下进制任意转换。简单、没啥难度,就是写个样例以后可以直接copy。原创 2017-08-03 22:46:09 · 839 阅读 · 0 评论 -
[JAVA][MD5]关于MD5的实现和JAVA生成MD5
>获取完整摘要算法工具类代码:[JAVA]数字摘要算法工具类——(Hamc)MD5/SHA1/SHA256/SHA512/PBKDF2>Java实现MD5JAVA JDK中的security包自带了MD5的加密算法,经过加密后,会生成一个128位的二进制序列。首先导入这个包:import java.security.MessageDigest;然...原创 2017-09-30 00:13:33 · 1121 阅读 · 0 评论 -
[kotlin·算法]二元选择排序对有序数列排序失败的研究
二元选择排序看着好像很简单,实际写起来要真不怎么注意就掉坑里去了。原创 2017-08-18 18:33:04 · 488 阅读 · 0 评论 -
[Kotlin]实现八大排序算法·已封装·代码实例
>八大排序算法分别是:插入排序:直接插入排序、希尔排序 选择排序:简单选择排序、堆排序 交换排序:冒泡排序、快速排序 归并排序 桶排/基数排序 稳定的排序方法有:直接插入排序、冒泡排序、桶排所有算法均已封装好,可以直接使用。到此下载:http://download.csdn.net/download/shenpibaipao/9940817>...原创 2017-08-18 23:48:50 · 1657 阅读 · 0 评论 -
税收问题的分析:已知税后收入求税前、年终奖"一元陷阱"的分析
早上家里来了个客人,聊天中得知了他的税后收入于是蛮好奇他的税前收入是多少。顺便开了一下脑洞,想证明一下当前年终奖税收模型下,是否存在合理的税率及税收安排,使得"一元陷阱"得以避免。原创 2017-07-29 10:57:20 · 2306 阅读 · 0 评论 -
经典面试题:Java实现-归并K条已排序的链表及复杂度分析、优化
这是一道非常经典的面试题,不少人问过我蛮多次了。真要我一时半会儿马上把这个实现并讲清楚,其实也是比较麻烦的,写篇博客记录一下吧。原创 2017-05-21 00:44:58 · 663 阅读 · 0 评论 -
[随手记录]使一个值经过调整后向一个基础值“靠近”
主要针对两种应用情况:情况1——例如:向1靠近,-7加上调整值10后应当得到结果1。**(由于-7+10越过了1,则直接取1。)情况2——例如:向0靠近,--3加上4后,取1。**(由于1到0比-3到0的绝对值要更小)原创 2018-08-10 22:16:06 · 254 阅读 · 0 评论 -
[算法][动态规划]动态转移过程与Python实现小样两例(切绳子与跳台阶)
这是我对动态规划一些入门题的笔记,主要便于随时随地的回顾这些基础内容。原创 2019-03-10 12:21:24 · 818 阅读 · 0 评论 -
[算法][Manacher]求取最大回文子串的O(n)复杂度算法
Manacher算法是求最长回文子串最有效的方法。原创 2019-03-19 16:28:37 · 373 阅读 · 0 评论 -
[智能计算]蚁群算法在TSP问题中的简单实现(Python)
蚁群算法在TSP问题中的实现样例一道原创 2019-03-18 20:46:48 · 1824 阅读 · 0 评论 -
经典面试题:数字拆分消减问题与单链路村庄销售代价问题[python]
数字拆分消减问题与单链路村庄销售代价问题[python实现]原创 2019-04-15 14:38:20 · 318 阅读 · 0 评论 -
[算法][动态规划][背包问题①]0-1背包问题的优化及约束变形[python实现]
这是我对动态规划一些入门题的笔记,主要便于随时随地的回顾这些基础内容。原创 2019-06-06 00:19:58 · 1935 阅读 · 0 评论 -
[算法][动态规划][背包问题②]完全背包问题的问题转化思路与优化[python实现]
这是我对动态规划一些入门题的笔记,主要便于随时随地的回顾这些基础内容。原创 2019-06-07 16:08:15 · 1041 阅读 · 0 评论 -
经典面试题:单链条反转的递归与非递归方法及分析[Java]
关于单链表反转问题的算法设计和分析。以及对JAVA为什么没有指针的一点解释。原创 2017-05-23 22:58:16 · 760 阅读 · 0 评论