Lu Tian的博客

  • 首页

  • 关于

  • 标签50

  • 分类22

  • 归档105

  • 日程表

  • 站点地图

  • 搜索

数组和矩阵系列算法

发表于 2018-08-26 | 更新于 2018-11-09 | 分类于 算法
本文字数: 18k | 阅读时长 ≈ 17 分钟

1,转圈打印矩阵
题目:给定一个矩阵,请按照转圈打印的方式打印它。
例如:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

阅读全文 »

位运算

发表于 2018-08-26 | 更新于 2018-11-09 | 分类于 算法
本文字数: 894 | 阅读时长 ≈ 1 分钟

1,不用额外变量交换两个整数的值
题目:如何不用任何额外变量交换两个整数的值。
解答:给定a、b、c,以下三行代码就可以交换a和b的值

阅读全文 »

大数据和空间限制

发表于 2018-08-26 | 更新于 2018-11-09 | 分类于 大数据
本文字数: 1.9k | 阅读时长 ≈ 2 分钟

1,布隆过滤器及其应用
此题在另一篇博客已经有介绍。
2,只用2GB内存在20亿个整数中找到出现次数最多的数
题目:有一个包含20亿个全是32位整型的大文件,在其中找到出现次数最多的数。
要求:内存限制为2GB。

阅读全文 »

字符串问题

发表于 2018-08-26 | 更新于 2018-11-09 | 分类于 算法
本文字数: 6.6k | 阅读时长 ≈ 6 分钟

1,判断两个字符串是否互为变形词
题目:给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么str1和str2互为变形词。请实现判断两个字符串是否为变形词的函数。
举例:str1=”123”,str2=”231”,返回true;str1=”123”,str2=”2331”,返回false。
思路:如果str1和str2长度不同,那么直接返回false。如果长度相同,假设出现字符的编码值在0-255之间,那么申请一个长度为255的整型数组map,map[a]=b代表字符编码为a的字符出现了b次,初始时map[0…255]的值都是0。然后遍历字符串str1,统计每种字符出现的数量,比如遍历到字符’a’,其编码为97,则令map[97]++。这样map就成了str1中每种字符的词频统计表。然后遍历字符串str2,每遍历到一个字符都在map中把词频减下来,比如遍历到字符’a’,其编码值为97,则令map[97]–,如果减少之后的值小于0,直接返回false,如果遍历完str2,map中的值也没出现负值,则返回true。
具体参看如下代码中的isDeformation方法

阅读全文 »

递归和动态规划

发表于 2018-08-26 | 更新于 2018-11-09 | 分类于 算法
本文字数: 2.6k | 阅读时长 ≈ 2 分钟

1,斐波那契数列问题的递归和动态规划
补充题目1:
给定整数n,代表台阶数,1次可以跨2个或者1个台阶,返回有多少种走法。
举例:n=3,可以三次都跨一个台阶;也可以先跨2个台阶,再跨一个台阶;还可以先跨1一个台阶,再跨两个台阶。所以有三种方法。

阅读全文 »

二叉树系列问题

发表于 2018-08-26 | 更新于 2018-11-09 | 分类于 算法
本文字数: 18k | 阅读时长 ≈ 16 分钟

1,分别用递归和非递归方式实现二叉树的遍历
题目:要求用非递归和递归方式分别按照先序、中序、后序遍历二叉树;约定先序遍历顺序为:根、左、右,中序:左、中、右,后序:左、右、中。
递归方式较为简单,代码如下:

阅读全文 »

1…161718
Lu Tian

Lu Tian

每天进步一点点

RSS
GitHub E-Mail QQ
推荐阅读
  • 刘望舒
  • 任玉刚
  • 郭霖
© 2019 Lu Tian | 504k | 7:38
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v6.5.0
全站共 168.3k 字