上一页 1 2 3 4 5 6 7 8 9 10 ··· 32 下一页
摘要: 平衡二叉树 题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 func 阅读全文
posted @ 2021-04-10 15:42 zqlucky 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 二叉树的深度 题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 思路:根结点的深度是约定的,这道题目约定的是根节点的深度是1;根结点的深度是1,属于第1层。经过多少条边,深度就是多少。 func TreeDepth(roo 阅读全文
posted @ 2021-04-10 15:27 zqlucky 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 数字在排序数组中出现的次数 题目:统计一个数字在升序数组中出现的次数。 思路:排序数组,使用二分查找找区间,先找第一次出现的位置,再找第二次出现的问题,相减即可。 func GetNumberOfK (A []int, target int) int { // write your code her 阅读全文
posted @ 2021-04-10 15:20 zqlucky 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 两个链表的第一个公共结点 题目:输入两个链表,找出它们的第一个公共结点。 思路:右对齐两个链表,如果两个链表有公共节点,则它们的形状必然是一个Y字形。 长链表先走,实现右对齐,先假设这两个链表的长度相等,则我们可以同步遍历这两个链表,找到公共节点。现在有两个链表,我们可以先分别求齐长度得其差n,然后 阅读全文
posted @ 2021-04-10 15:07 zqlucky 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 数组中的逆序对 题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 (题目保证输入的数组中没有的相同的数字) 对于50\%50%的数据,si 阅读全文
posted @ 2021-04-10 12:37 zqlucky 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 第一个只出现一次的字符位置 题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路:使用一个hashmap遍历一遍,统计每个字符出现的次数,然后再统计一遍,找到第一个出现一次的元素。 所有的字符有256个,可以开辟一个256的数组,直接 阅读全文
posted @ 2021-04-10 12:17 zqlucky 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 丑数 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 方法1:最小堆,基于sort.IntSlice实现heap 方法2:动态规划 func GetUglyNumb 阅读全文
posted @ 2021-04-10 12:11 zqlucky 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 参考1:https://segmentfault.com/a/1190000017341615 参考2:Go中slice作为参数传递的一些“坑” 是什么 在 Go 中,Slice(切片)是抽象在 Array(数组)之上的特殊类型。为了更好地了解 Slice,第一步需要先对 Array 进行理解。深刻 阅读全文
posted @ 2021-04-10 11:27 zqlucky 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 整数中1出现的次数(从1到n整数中1出现的次数) 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数例如,1~13中包含1的数字有1、10、11、12、13因此共出现6次 思路: 设N = abcde ,其中abcde分别为十进制中各位上的数字。 如果要计算百位上1出现的次数,它要受到 阅读全文
posted @ 2021-04-10 10:49 zqlucky 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 连续子数组的最大和 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n). 思路: 动态规划,设动态规划列表 dp,dp[i] 代表以元素 array[i] 为结尾的连续子数组最大和。状态转移方程: dp[i] = M 阅读全文
posted @ 2021-04-10 10:25 zqlucky 阅读(49) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 32 下一页