摘要: 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 思路: 链接:https://www.nowcoder.com/questionTerminal/e02fdb54d7524710a7d664d082bb7811来源:牛客网 首先:位运算中异或的 阅读全文
posted @ 2020-03-08 21:38 nlw 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 从上往下计算树的深度 有重复计算 public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if(root == null) return true 阅读全文
posted @ 2020-03-08 21:03 nlw 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 递归算法: public class Solution { public int TreeDepth(TreeNode root) { if(root == null) 阅读全文
posted @ 2020-03-08 20:15 nlw 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 二分法查找k的位置 然后往前往后遍历。或者找到第一个k和最后一个k的位置 然后相减 也是用二分查找 只不过在找到k的时候先判断k的前后是不是k 是的话不返回 继续缩小范围 直到确定这个是边上的 public class Solution { public int GetNumberOfK(int [ 阅读全文
posted @ 2020-03-08 19:49 nlw 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 如果两个有公共结点 那么从这个公共结点往后的所有结点都是一样的 方法一:借用栈(相当于从后往前找) 找第一个不相同的点之前的点 import java.uti 阅读全文
posted @ 2020-03-08 17:26 nlw 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 归并排序的改进 在合并的时候进行计算count的值 先贴上归并排序的代码 public 阅读全文
posted @ 2020-03-08 15:46 nlw 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 思路:建立一个数组 数组的下标是跟字符的ascii码直接相关的 public class Solution { public int Fi 阅读全文
posted @ 2020-03-08 01:30 nlw 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 算法题太折磨了 选定第一个丑数1,根据丑数的定义,可知以后的丑数必然是在1的基础上乘以2,乘以3,乘以5,因此可以得 阅读全文
posted @ 2020-03-08 00:48 nlw 阅读(103) 评论(0) 推荐(0) 编辑