剑指
小白AND小白
NOTHING
展开
-
剑指编程(1)
一、 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { //有序数组,可以用二分法 public boolean Find(int target, int [][] array) { for原创 2017-09-28 18:43:40 · 210 阅读 · 0 评论 -
剑指编程(7)
一、 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了: 在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。 但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢? 例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被原创 2017-10-14 18:59:50 · 207 阅读 · 0 评论 -
剑指编程(6)
一、 输入一个复杂链表 (每个节点中有节点值,以及两个指针, 一个指向下一个节点,另一个特殊指针指向任意一个节点) 返回结果为复制后复杂链表的head。 (注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)class RandomListNode { int label; RandomListNode next = null;原创 2017-10-13 18:59:48 · 190 阅读 · 0 评论 -
剑指编程(13)
一、 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3 那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1},原创 2017-10-22 18:17:35 · 286 阅读 · 0 评论 -
剑指编程(5)
一、 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。public class Solution { Stack<Integer> stk = new Stack<>(); public void push(int node) { stk.push(node); } public void pop() { s原创 2017-10-12 21:06:00 · 219 阅读 · 0 评论 -
剑指编程(12)
一、 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。 注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。class TreeLinkNode { int val; TreeLinkNode left = null; TreeLinkNode right = null; TreeLinkNode next = null原创 2017-10-21 18:19:17 · 277 阅读 · 0 评论 -
剑指编程(11)
一、 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。public class Solution { // Parameters: //原创 2017-10-20 20:01:33 · 285 阅读 · 0 评论 -
剑指编程(10)
一、 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)… 他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!! “红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…..LL不高兴了 他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,原创 2017-10-19 17:53:21 · 228 阅读 · 0 评论 -
剑指编程(4)
一、 输入一个链表,反转链表后,输出链表的所有元素。public class Solution { public ListNode ReverseList(ListNode head) { if(head == null) { return null; } ListNode pre = null;原创 2017-10-10 19:10:47 · 215 阅读 · 0 评论 -
剑指编程(9)
一、 一个整型数组里除了两个数字之外,其他的数字都出现了两次。 请写程序找出这两个只出现一次的数字。 num1,num2分别为长度为1的数组。传出参数 将num1[0],num2[0]设置为返回结果public class Solution { public void FindNumsAppearOnce(int [] array,int num1[] , int原创 2017-10-17 16:58:45 · 245 阅读 · 0 评论 -
剑指编程(3)
一、public class Solution { //如果末尾为1,则相与后刚好去掉了这个1 //如果末尾为0,减1后将最后一位1变成0,刚好也去掉了这个1 public int NumberOf1(int n) { int res = 0; while(n != 0) { res++; n原创 2017-10-09 18:51:28 · 250 阅读 · 0 评论 -
剑指编程(2)
一、 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。public class Solution { //最简单的思路就是找到原创 2017-09-29 18:15:42 · 213 阅读 · 0 评论 -
剑指编程(8)
一、 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。 输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,si原创 2017-10-15 16:15:56 · 317 阅读 · 0 评论