剑指offer
蜘蛛侠不会飞
关注公众号【不至于编程】,回复【CS】获取30本豆瓣高分计算机就书籍,包括操作系统、计算机网络、数据结构与算法等
展开
-
python实现最大堆,最小堆和堆排序
目录0.什么是堆1.最大堆的实现2.最小堆的实现3.堆排序0.什么是堆小堆和大堆分为如下图:堆需要满足的条件:1. 必须是二叉树,且必须是完全二叉树2. 各个父节点必须大于或小于左右结点, 其中最顶层的根结点必须是最大或者最小的堆可以使用list实现,就是按照层序遍历顺序将每个节点上的值存放在数组中。父节点和子节点之间存在如下的关系:i 从...原创 2019-04-13 22:35:00 · 9586 阅读 · 0 评论 -
leetcode - 递归
目录98.验证搜索二叉树22.括号生成100.相同的树101.对称二叉树104.树的最大深度108.将有序数组转换成搜索二叉树110.平衡二叉树111.二叉树的最小深度112.路径总和226.翻转二叉树98.验证搜索二叉树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 ...原创 2019-03-15 22:44:29 · 524 阅读 · 0 评论 -
leetcode(3)
目录2.两数相加70.爬楼梯83.删除有序链表中的重复元素88合并两个有序的数组118.杨辉三角119. 杨辉三角 II121.买卖股票的最佳时机122.买卖股票的最佳时机2125.验证回文串136.只出现一次的数字2.两数相加给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一...原创 2019-03-13 22:42:40 · 316 阅读 · 0 评论 -
leetcode(2)
目录1.实现strStr()方法2.全排列3.搜索插入位置4.报数53.最大子序和58.最后一个单词的长度66.加一67.二进制求和69 X 的平方根1.实现strStr()方法实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 ...原创 2019-03-12 22:43:50 · 233 阅读 · 0 评论 -
leetcode(1)
目录2.整数反转3.回文数4罗马数字转整型5.最长公共前缀6.有效的括号7.合并两个有序的链表8.删除有序数组中的重复元素9.括号生成10.移除元素1.两数之和给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用...原创 2019-03-11 22:47:30 · 149 阅读 · 0 评论 -
三天刷完《剑指OFFER编程题》--Java版本实现(第三天)
正在更新中。。。。。。。。。剑指offer --Python版本的实现:剑指offer(1/3)第一大部分剑指offer(2/3)第二大部分剑指offer(3/3)第三大部分46.圆圈后最后剩下额数每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以..原创 2020-09-11 18:39:33 · 986 阅读 · 0 评论 -
《剑指offer》整数1出现的个数--复杂度(o(logn))--史上最容易理解的版本
1. 题目求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。2. 解题方法方法1、找规律的方法:我们以 345 这个数值作为例子找规律:2.1 个位上1 出现的规律:要求得 个位上 1 出现的次数,毫无疑问,...原创 2020-08-19 17:54:19 · 306 阅读 · 0 评论 -
三天刷完《剑指OFFER编程题》--Java版本实现(第二天)
正在更新中。。。。。。。。。剑指offer --Python版本的实现:剑指offer(1/3)第一大部分剑指offer(2/3)第二大部分剑指offer(3/3)第三大部分27.字符串的排列输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。递归法,问题..原创 2020-09-11 18:39:43 · 1417 阅读 · 0 评论 -
三天刷完《剑指OFFER编程题》--Java版本实现(第一天)
剑指offer --Python版本的实现:剑指offer(1/3)第一大部分剑指offer(2/3)第二大部分剑指offer(3/3)第三大部分1.二维数组中的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2,...原创 2020-06-28 23:57:23 · 2378 阅读 · 0 评论 -
剑指offer全集python(1/3)第一大部分
目录2.使用python实现单例模式3.二维数组中数的搜索4.替换空格5.从尾到头打印单链表值6.根据前序,中序构造二叉树7.使用2个栈实现队列8.旋转数组的最小数字9.斐波那契数列14.调整数组顺序使奇数位于偶数前面15.链表中倒数第k个结点16.反转单链表17.合并两个有序的链表18.树的子结构19.二叉树的镜像20.顺时针打印矩阵...原创 2019-03-19 22:33:14 · 1242 阅读 · 0 评论 -
剑指offer全集python(2/3)第二大部分
目录23.从上往下打印二叉树24.二叉搜索树的后序遍历序列25.二叉树中和为某一值的路径26.复杂链表的复制27.二叉搜索树和双向链表28.字符串的排列29.数组中出现次数超过一半的数字30.最小的k个数31.连续数组的最大和32.整数1出现的个数33.把数组排成最小数34.丑数35.第一次只出现一次的字符36.数组的逆序对37.两个链表...原创 2019-03-23 22:41:28 · 1610 阅读 · 0 评论 -
剑指offer全集python(3/3)第三大部分
目录45.圆圈后最后剩下额数46.求1,2.。。n的和47.不用加减乘除做相加49.将字符串转换成整数50.数组中重复的数字51.构建乘积数组52.正则表达式匹配53.表示数值的字符串54.字符流中第一个不重复的元素55.链表中环的入口56.删除链表中的重复结点57.二叉树的下一个结点58.判断是否是对称二叉树59.按之字形打印二叉树60...原创 2019-03-30 22:39:28 · 1108 阅读 · 0 评论 -
C++ 版本 剑指offer
1. 二维数组的查找:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(int target, vector<vector<int> > arra...原创 2019-09-25 09:36:30 · 496 阅读 · 0 评论 -
Python练习题集合+剑指offer
所有的剑指offer中的算法题的python实现可以查看:第一部分第二部分第三部分最好自己画图和创建虚拟数据进行理解。目录1. 输入某年某月某日,判断这是这一年的第几天2.打印出 5 种不同形式的九九乘法表3.判断101 - 200 之间有多少个素数, 并输出所有的素数5.一球从100 米高度落下,每次落地后反弹的高度是原高度的一半;求它在第10次落地时,...原创 2018-08-27 15:38:07 · 779 阅读 · 0 评论 -
动态规划(练习题目)
故事开始以前 最初的那些春天 阳光洒在杨树上 风吹来 闪银光 街道平静而温暖 钟走得好慢 那是我还不识人生之味的年代我情窦还不开 你的衬衣如雪 盼着杨树叶落下 眼睛不眨 心里像有一些话 我们先不讲 等待着那将要盛装出场的未来人随风飘荡 天各自一方 在风尘中遗忘的清白脸庞 此生多勉强 此身越重洋 轻描时光漫长低唱语焉不详 数不清的流年 似是而非的脸 把你的故事对我讲 就让我笑出泪光 ...原创 2020-02-02 21:52:10 · 378 阅读 · 0 评论 -
面试中一些较为复杂的常见的算法
目录1.跳跃表2.并查集3.哈夫曼树与编码4.AVL树5.B树和B+ 树6.前缀树7.红黑树8.线段树9.图的表示:邻接矩阵和邻接表10.图的遍历:深度搜索和广度搜索11. 最短路径算法:Floyd 与 Dijkstra12. 最小生成树算法: Prim, Kruskal13.关键路径、拓扑排序14.模式匹配:KMP, Boyer-Mo...原创 2020-01-20 17:47:14 · 2160 阅读 · 0 评论 -
详细解释什么是hadoop和spark,及其工作原理
目录一、hadoop一些知识点:1.HDFS知识:1.1 HDFS工作机制1.2 HDFS 写数据流程1.3 HDFS 读数据流程2、MapReduce原理2.1 什么是 MapReduce2.2 MapReduce 1.X 架构2.3 MapReduce 2.X 架构2.4 MapReduce 运行流程二、spark2.1 hadoop 与 spa...原创 2019-09-07 20:53:55 · 2299 阅读 · 0 评论