
牛客刷题笔记
leowang2234
这个作者很懒,什么都没留下…
展开
-
数据结构之队列定义及基本操作实现
http://www.cnblohttp://www.cnblogs.com/WuNaiHuaLuo/p/4930296.htmlgs.com/WuNaiHuaLuo/p/4930296.html转载 2016-10-24 00:50:55 · 530 阅读 · 0 评论 -
剑指offer 25 题 ,java 递归实现
package shuati;import java.util.Stack;import java.util.Vector;/** * 剑指 offer 25 题,递归实现 * Created by cheng on 2017/10/11. */class BinaryTreeNode { int value; BinaryTreeNode left; BinaryT原创 2017-10-11 19:26:44 · 467 阅读 · 0 评论 -
从高考到程序员
2017年高考的最后一天。今天看到优快云的征文,想想我也是有过高考经历的孩子。正好随便写点什么吧。首先说自己读的不是什么有招牌的大学,没有985也没有211的名号,211教室倒是不少,二楼 211,总上高数的那个教室。 985?对不起,我们学校没有那么高的楼。傻傻分不清楚。奈何,当时的积分不够,奥,错了,高考分数不够。由此说明了一个道理,分多了就是好啊。资源随便下载,跑题啦~~~既然不是名牌大学,原创 2017-06-08 20:38:12 · 1911 阅读 · 13 评论 -
给定一定金额的钱,求换得后的硬币个数最少
/** * * 拥有不同面值的货币,求,换一定面值的钱,用的货币的 数目 最少 * */public class MakingChange { static int[] history = null; public static void main(String[] args) { int[] coinKinds = {1, 3, 5}; // 货币的种类,与原创 2017-05-29 02:38:22 · 1267 阅读 · 0 评论 -
一个序列中连续子序列的最大和
时间复杂度为 比狗n , 具体思路是:遍历一边数组元素 在遍历的同时,依次求和,若在当前位置求的和为负数,则舍弃,从下一个位置,重新开始,继续求和。在遍历求和的过程中,要比较当前位置和与最大值的比较,更新最大值。/** * 找到一个序列中,连续元素和的最大值 时间复杂度 为 O(n) */public class ContinusSequence { public static v原创 2017-05-29 02:42:44 · 706 阅读 · 0 评论 -
判读一棵树是不是平衡二叉树
要求给定一棵二叉树,判断是否为平衡二叉树思路 总体思路是这样的 先分别判断左右子树是不是平衡的,若左右子树都是平衡二叉树,则判断左右子树的高度差是不是满足绝对值小于等于 1 的条件伪代码is_balanced_tree = true;void is_balance(root){ get_height(root) return is_balanced_tree;}g原创 2017-05-28 22:19:53 · 582 阅读 · 0 评论 -
求质数算法的 N 种境界[1] - 试除法和初级筛法
★引子 前天,俺在《俺的招聘经验[4]:通过笔试答题能看出啥?》一文,以“求质数”作为例子,介绍了一些考察应聘者的经验。由于本文没有政治敏感内容,顺便就转贴到俺在 优快云 的镜像博客。 昨天,某个 优快云 网友在留言中写道: 老实说,这个程序并不好写,除非你背过这段代码 如果只在纸上让别人写程序,很多人都会出错 但是如果给一台电脑,大多数人都会把这个程序调试正确 出这个题目没啥意转载 2017-05-24 19:39:02 · 637 阅读 · 0 评论 -
三个递增的整形数组中找到最大的公共元素
代码实现如下:思路定义三个变量,在三个数组中,由后向前遍历代码待完善数组是否合法,未检查当查找不到时的返回值为 -1 ,有待商榷public class Test { public static void main(String args[]) { int[] a = new int[]{3,4,5,6,7,8,9,10,11}; int[原创 2017-05-24 19:32:06 · 343 阅读 · 0 评论 -
JAVA及相关字符集编码问题研究分享
原文地址在java应用软件中,会有多处涉及到字符集编码,有些地方需要进行正确的设置,有些地方需要进行一定程度的处理。本文主要给大家讲解java中字符的编码格式等相关问题一、前言 在分析Comparable和Comparator的时候,分析到了String类的compareTo方法,String底层是用char[]数组来存放元素,在比较的时候是比较的转载 2016-11-28 11:45:23 · 584 阅读 · 0 评论 -
数据结构之——找到无序数组中排序后相邻元素差值的最大值
/*** 有一个整形数组A,请设计一个复杂度为O(n)的算法,算出排序后相邻两数的最大差值。给定一个int数组A和A的大小n,请返回最大的差值。保证数组元素多于1个。* @author Administrator**/今天在牛客网刷题时,遇到这么一道题,听完知识点讲解后,稍微有些不理解,后来自己又仔细想了想。现在整理下思路。这个题中,数组是乱序的,所以很原创 2016-11-27 23:49:11 · 4644 阅读 · 3 评论 -
数据结构之——希尔排序
希尔排序希尔排序package Sort;import java.util.*;public class ShellSort { public int[] shellSort(int[] A, int n) { // write code here int gap = n/2; while(gap>0){ for(int i=gap;i=0 && A[i]<A[i-gap] ){ //这个地方需要原创 2016-11-26 20:26:09 · 571 阅读 · 0 评论 -
数据结构之——快速排序
package Sort;import java.util.Arrays;public class QuickSort { public static void main(String[] args) { int[] a = {3,6,1,2,4,8,9}; QuickSort qs = new QuickSort(); a = qs.quicksort(a,7);原创 2016-11-26 19:38:11 · 445 阅读 · 0 评论 -
数据结构之——归并排序
归并排序package Sort;import java.util.Arrays;public class MergeSort { public int[] mergeSort(int[] A ,int n){ int first = 0; int last = n-1; process(A,first,last); return A; }//递归调用的分治函原创 2016-11-26 17:44:50 · 569 阅读 · 0 评论 -
数据结构之——堆排序
堆排序过程详解堆排序主要是两个过程:1.创建堆, 2.每次交换堆顶和最后一个元素的值,调整堆,堆顶元素即为最大值需要注意的是:创建堆的过程中,是自下而上进行调整,而且在调整的过程中包含了自上而下的调整。因为在自下而上的调整中,若是交换了某个左孩子或者右孩子与其父节点的值,可能会造成其相应的左子树或者右子树不满足最大堆的约束,所以,以此左孩子或者右孩子为根节点的左子原创 2016-11-26 10:45:39 · 816 阅读 · 0 评论 -
扑克牌博弈问题
原文链接题目:有一个整型数组A,代表数值不同的纸牌排成一条线。玩家a和玩家b依次拿走每张纸牌,规定玩家a先拿,玩家b后拿,但是每个玩家每次只能拿走最左或最右的纸牌,玩家a和玩家b都绝顶聪明,他们总会采用最优策略。请返回最后获胜者的分数。给定纸牌序列A及序列的大小n,请返回最后分数较高者得分数(相同则返回任意一个分数)。测试样例:[1,2,100,4],4返回原创 2016-11-14 16:10:03 · 1142 阅读 · 0 评论 -
在一个乱序的数组中找到最长的递增子序列
这个题是牛客上左程云讲其他俄国沙皇问题是提及到的一个算法原型。代码中给出了两个思路。时间复杂度分别为 N^2 和 NlogN,源代码中没有给出注释,自己照着思路又重新捋了遍程序,稍微加了点注释,方便理解。原题目的讲解在牛客网公开课http://www.nowcoder.com/live/11/1/1以下是代码public class Problem_05_LIS { public st原创 2016-11-14 16:24:47 · 2900 阅读 · 0 评论 -
数据结构之——KMP算法
网上有一大堆有关KMP算法的讲解,看完之后,知道是那么回事,但是总是似懂非懂,尤其是关于next数组的求解,更是有些晕。找了些资料,转载过来的这些内容中,是我目前看到的资料中关于KMP算法中 next 数组讲解最清楚最彻底的一个。有关KMP算法的具体步骤还可以参考这个博客点击打开链接网上有很多讲解KMP算法的博客,我就不浪费时间再写一份了。直接推荐一个当初我入门时看的博客吧:h转载 2016-11-28 20:13:57 · 569 阅读 · 0 评论 -
稀疏矩阵三元组求转置
具体什么是稀疏矩阵,可以参见下面博客http://blog.youkuaiyun.com/tiredoy/article/details/24435443http://c.biancheng.net/cpp/html/969.html下面是参考了部分博客后,自己实现的代码,其中有好多问题,在调试解决的过程中,解决了问题,并收获了很多。参见具体注释。#includ原创 2016-10-23 00:39:16 · 2323 阅读 · 0 评论