2020年3月1日

重建二叉树

摘要: 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 来 阅读全文

posted @ 2020-03-01 23:56 自律的蚂蚁 阅读(229) 评论(0) 推荐(0)

2020年2月24日

从尾到头打印链表

摘要: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] /** * Definition for singly-linked list. * public class ListNode { * int val; * 阅读全文

posted @ 2020-02-24 01:22 自律的蚂蚁 阅读(184) 评论(0) 推荐(0)

2020年2月23日

替换空格

摘要: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy."输出:"We%20are%20happy." 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-l 阅读全文

posted @ 2020-02-23 21:01 自律的蚂蚁 阅读(174) 评论(0) 推荐(0)

2020年2月21日

二维数组中的查找

摘要: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19] 阅读全文

posted @ 2020-02-21 14:00 自律的蚂蚁 阅读(130) 评论(0) 推荐(0)

2020年2月20日

数组中重复的数字

摘要: 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 来源:力扣 阅读全文

posted @ 2020-02-20 14:24 自律的蚂蚁 阅读(110) 评论(0) 推荐(0)

2019年9月22日

LRU算法的实现

摘要: 需求 随着公司的业务越来越复杂,需要提供一个用户系统,供各个业务系统来查询用户的基本信息。且业务方对用户信息的查询频率很高,设计的用户系统需要注意性能。 初始设计: 考虑到性能,可以在内存中创建一个哈希表作为缓存,每当查找一个用户时,会现在哈希表中进行查询,查询不到再去数据库查询。 初始设计存在的问 阅读全文

posted @ 2019-09-22 18:13 自律的蚂蚁 阅读(1553) 评论(0) 推荐(1)

Bit-map算法实现

摘要: 需求: 用户标签包括用户的社会属性、生活习惯、消费行为等信息,例如: 用户A: 男,程序员,90后,华为 用户B: 男,程序员,80后,苹果 用户C: 女,企业家,70后,三星 用户D: 男,程序员,90后,苹果 现在,想要统计所有男性程序员。一种方法是通过求交集的SQL实现。但如果标签非常多,甚至 阅读全文

posted @ 2019-09-22 09:51 自律的蚂蚁 阅读(459) 评论(0) 推荐(0)

2019年9月13日

删除K个数字后的最小值(贪心算法实现)

摘要: 给出一个整数,从该整数中去掉k个数字,要求剩下的数字形成的新整数尽可能小。应该如何选取被去掉的数字? 其中,整数的长度大于或等于k,给出的整数的大小可以超过long类型的数字范围。 思路: 把原整数的所有数字从左到右进行比较,如果发现某一位数字大于它右面的数字,那么在删除该数字之后,必然会使该数位的 阅读全文

posted @ 2019-09-13 18:49 自律的蚂蚁 阅读(1154) 评论(0) 推荐(0)

寻找全排列的下一个数(字典序算法实现)

摘要: 给出一个正整数,找出这个正整数所有数字全排列的下一个数。通俗的说就是在一个整数所包含数字的全部组合中,找到一个大于且仅大于原数的新整数。举例: 如果输入:12345,则返回12354 如果输入:12354,则返回12435 如果输入:12435,则返回12453 思路: 字典序算法: 从后向前查看逆 阅读全文

posted @ 2019-09-13 16:15 自律的蚂蚁 阅读(590) 评论(0) 推荐(0)

2019年9月8日

用栈实现队列

摘要: 用栈来模拟一个队列,要求实现队列的基本操作:入队、出队 思路: 队列: 先进先出,栈:先进后出; 要想栈实现先进先出,那么用一个栈肯定不行,需要2个栈配合操作。一个栈用来作为入口,另一个栈作为出口。 栈A的元素需要按入栈的顺序出栈,那么将A中的元素逐个pop,并将这些元素逐个在push到栈B中,然后 阅读全文

posted @ 2019-09-08 19:47 自律的蚂蚁 阅读(195) 评论(0) 推荐(0)

导航