摘要:
题目来源牛客网 https://www.nowcoder.com/practice/1177e9bd1b5e4e00bd39ca4ea9e4e216?tpId=90&&tqId=30903&rp=9&ru=/activity/oj&qru=/ta/2018test/question-ranking 阅读全文
摘要:
题目:一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。 思路1:使用HashMap存上所有的数字,数字作为Key,Value为对应的出现次数。这种做法可以拓展到查找出现N次的数字。时间复杂服为O(N)+O(1) (建立Map的时间以及查找时间) 思路2: 阅读全文
摘要:
*思路: 先求得两个链表的长度,然后得到长度差diff,再先遍历长链表diff步后,再同时遍历两个链表并比较对象指针。 阅读全文
摘要:
题目:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最 阅读全文
摘要:
题目:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 *知识点:Java PriorityQueue 调整新插入元素 转自 https://www.cnblogs.com/CarpenterLee/p/5488070.htm 阅读全文
摘要:
题目: 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) *思路(借鉴牛客网友):实质还是树的遍历。在递归的过程中,使用ArrayList记录下路 阅读全文
摘要:
问题:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 *思路:先用队列存放树的根结点。每次出队一个结点,将结点非空的左右孩子分别入队。重复此过程,直到队列为空。 阅读全文
摘要:
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的 阅读全文
摘要:
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5*思路:交换左右子树根结点,递归处理左右子树。 操作给定的二叉树,将其变换为源二叉 阅读全文
摘要:
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 *思路:假设两个链表的当前结点为n1(list1),n2(list2)比较链表结点值的大小,如果n1.val<=n2.val,则合并后的链表应该为 n1->Merge(n1.next, n2). 反之,如果 阅读全文