牛客网题目
文章平均质量分 55
Tiger--Chen
这个作者很懒,什么都没留下…
展开
-
数据流中的中位数--最大堆与最小堆实现
import java.util.*;public class Solution { private int count = 0;private PriorityQueue<Integer> minHeap = new PriorityQueue<>(); // private PriorityQueue<Integer> maxHeap = new ...原创 2018-05-22 20:59:37 · 686 阅读 · 0 评论 -
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。代码:import java.util.*;public class Solution { public int NumberOf1(int n) { int index=0; if(n>0){ int r=n; while(r>0){ ...原创 2018-06-04 21:14:16 · 836 阅读 · 0 评论 -
给出两个字符串,找到最长公共子串,并返回其长度,java实现
转载自https://blog.csdn.net/u010002184/article/details/50740691转载 2018-08-09 22:02:31 · 1530 阅读 · 0 评论 -
算法:深度优先算法和广度优先算法(基于邻接矩阵)
本文转载自http://www.cnblogs.com/liuyihai/p/8762581.html1.写在前面 图的存储结构有两种:一种是基于二维数组的邻接矩阵表示法。 另一种是基于链表的的邻接表。 在邻接矩阵中,可以如下表示顶点和边连接关系: 说明: 将顶点对应为下标,根据横纵坐标将矩阵中的某一位置值设为1,表示两个顶点向联接。...转载 2018-08-09 22:13:59 · 1043 阅读 · 0 评论 -
两数之和:给定一个整数数组,找出其中两个数相加等于目标值
有三种思路: 第一个思路:遍历数组i从第一个数开始,j从(i+1)开始,直到找到合适的值。这个算法的时间复杂度为O(n2),空间复杂度为O(1)。第二个思路:在前一个算法的基础上降低时间复杂度。我们可以将数组排序,然后定义两个指针,一个指针i从左向右,另一个从j右向左。 ①如果data[i]+data[j] < tager ,则++i ②如果data[i]+data[j] > ...原创 2018-08-02 21:36:20 · 4237 阅读 · 0 评论