上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 25 下一页

2019年1月23日

n 个骰子的点数

摘要: 题目 把 n 个骰子扔在地上,所有骰子朝上一面的点数之和为 s。输入 n,打印出 s 的所有可能的值出现的概率。 package main import "math" func main() { var n int // dp[i][j] 就表示 投掷i次骰子后,点数j出现的次数 dp := mak 阅读全文

posted @ 2019-01-23 14:38 tianzeng 阅读(217) 评论(0) 推荐(0)

2019年1月22日

滑动窗口的最大值

摘要: 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 [1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 阅读全文

posted @ 2019-01-22 18:43 tianzeng 阅读(540) 评论(0) 推荐(0)

翻转单词顺序(左旋转字符串)

摘要: 题目 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student.",则输出"student. a am I"。 思路 翻转句子中所有的字符。比如翻转"I am a student."中所有的字符得到".tne 阅读全文

posted @ 2019-01-22 18:19 tianzeng 阅读(268) 评论(0) 推荐(0)

2019年1月21日

和为 s 的两个数字(和为 s 的连续正数序列)

摘要: 题目 输入一个递增排序的数组和一个数字 s,在数组中查找两个数,得它们的和正好是 s。如果有多对数字的和等于 s,输出任意一对即可 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { if (tar 阅读全文

posted @ 2019-01-21 16:42 tianzeng 阅读(197) 评论(0) 推荐(0)

2019年1月20日

数组中数字出现的次数(数组中唯一只出现一次的数字)

摘要: 题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字。要求时间复杂度是 O(n),空间复杂度是 O(1)。 思路 1.异或运算的一个性质:任何一个数字异或它自己都等于 0。也就是说, 如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出 阅读全文

posted @ 2019-01-20 11:01 tianzeng 阅读(438) 评论(0) 推荐(0)

2019年1月14日

二叉树的深度(平衡二叉树)

摘要: 题目 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 思路 如果一棵树只有一个结点,它的深度为1,如果根节点只有左子树而没有右子树,那么树的深度应该是其左子树的深度+1.同样如果根节点只有右子树而没有左子树,那么树的深度应该是 阅读全文

posted @ 2019-01-14 21:52 tianzeng 阅读(2521) 评论(0) 推荐(0)

二叉搜索树的第k大的节点

摘要: 题目 给定一颗二叉搜索树,请找出其中的第k大的结点。 思路 如果中序遍历一棵二叉搜索树,遍历序列的数值则是递增排序,因此只需中序遍历一个二叉搜索树即可。 中序遍历用递归实现比较容易,但要想清楚的是遍历到一个根结点的时候要做的是什么?中序遍历二叉树打印的时候我们在递归完左子树之后打印根结点,本题目要求 阅读全文

posted @ 2019-01-14 21:39 tianzeng 阅读(927) 评论(0) 推荐(0)

2019年1月13日

0~n-1中缺失的数字

摘要: 0~n-1中缺失的数字 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0 ~ n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 思路 1.先用公式n*(n-1)/2求出0~n-1所有数字之和s1,在求出数组所有数字之和s2,那个不在 阅读全文

posted @ 2019-01-13 11:17 tianzeng 阅读(673) 评论(0) 推荐(0)

2019年1月12日

两个链表的第一个公共结点

摘要: 题目 输入两个链表,找出它们的第一个公共结点。 思路 两个链表有重合,拓扑形状像Y,两个链表有公共结点,那么公共结点出现在链表的尾部,那么从两个链表的最后一个节点开始比较,那么最后一个相同的结点就是我们要找的结点。单链表的最后一个结点,但要最先比较,后进先出,栈!栈!栈! 1.分别把两个链表放到栈里 阅读全文

posted @ 2019-01-12 20:47 tianzeng 阅读(218) 评论(0) 推荐(0)

数组中的逆序对

摘要: 题目 在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 思路 一,直接求解 顺序扫描整个数组。每扫描到一个数字的时候,逐个比较该数字和它后面的数字的大小。如果后面的数字比它小,则这两个数字就组成了一个逆序对。假设数组中含有n 阅读全文

posted @ 2019-01-12 20:00 tianzeng 阅读(383) 评论(0) 推荐(0)

上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 25 下一页

导航