• avatar 牛客我最菜 2019-02-24 22:44:48

    Java多线程和并发

    首先回顾一下线程和进程: 进程和线程的区别: 进程是资源分配的最小单位,线程是CPU调度的最小单位   ➢所有与进程相关的资源,都被记录在PCB中   ➢进程是抢占处理机的调度单位;线程属于某个进程,共享其资源   ➢线程只由堆栈寄存器、程序计数器和TCB组成   总结:➢线程不能看做独立应

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-02-24 19:57:07

    Java之垃圾回收GC

    有哪些垃圾回收算法? 1.标记-清除算法(Mark and Sweep) ➢标记:从根集合进行扫描,对存活的对象进行标记 ➢清除:对堆内存从头到尾进行线性遍历,回收不可达对象内存 缺点:碎片化------------容易产生小的碎片,无法利用。   2.复制算法(Copying) ➢

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-02-24 11:38:21

    Java之JVM内存模型

    JVM运行时数据分区: 一、程序计数器(Program Counter Register) ➢当前线程所执行的字节码行号指示器(逻辑) ➢改变计数器的值来选取下一条需要执行的字节码指令 ➢和线程是一对一的关系即”线程私有” ➢对Java方法计数,记录的是正在执行的虚拟机字节码指令的地址;如果

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-02-24 11:12:27

    Java基础相关

    对Java的理解 ◆平台无关性 ◆GC ◆语言特性 ◆面向对象 ◆类库 ◆异常处理   谈谈反射 JAVA反射机制是在运行状态中, 对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-02-23 23:08:31

    Linux操作相关

    Linux操作相关 查询端口是否被占用,被哪个进程占用有两种方式:    1、netstat -anl | grep "80" ;    2、lsof -i:80 终止进程的方式:kill pid   如何查找特定的文件?? find 语法 find path [op

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-02-23 20:16:37

    计算机网络相关

    说说TCP的三次握手 “握手”是为了建立连接, TCP三次握手的流程图如下:  在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送SYN包[syn=j)到服务器,并进入SYNSEND状态,等待服务器确认; 第二次握手:服务器收

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-16 14:40:56

    leetcode98_验证二叉搜索树

    给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入:     2    / \   1   3 输出: true 示例 2

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-14 20:18:40

    leetcode905_按奇偶排序数组

    给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。 你可以返回满足此条件的任何数组作为答案。   示例: 输入:[3,1,2,4] 输出:[2,4,3,1] 输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。  

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-14 14:06:11

    矩阵覆盖_铺地砖问题

    描述:  我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,  总共有多少种方法?   思路:   target = 1大矩形为2*1,只有一种摆放方法,return1; target = 2 大矩形为2*2,有两种摆放方法,ret

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-14 13:46:23

    二叉树的深度

    题目描述: 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点) 形成树的一条路径,最长路径的长度为树的深度。   思路: 深度=左孩子和右孩子深度中大的  加上本身(+1) public int TreeDepth(TreeNode root) { if

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-13 19:28:38

    leetcode113_路径总和2

    给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22,               5              / \             4   8      

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-02-24 21:41:23

    Java中的四种引用方式

    1.强引用( Strong Reference ) ➢最普遍的引用:       代码中的object和str都是强引用: Object object = new Object(); String str = "hello"; ➢抛出OutOfMemoryError终

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-02-23 22:01:18

    redis基础及持久化方式

      为什么Redis能这么快 100000+QPS ( QPS即query per second,每秒内查询次数) ➢完全基于内存,绝大部分请求是纯粹的内存操作,执行效率高 ➢数据结构简单,对数据操作也简单 ➢采用单线程,单线程也能处理高并发请求,想多核也可启动多实例 ➢使用多路I/O复用模型,非

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-14 22:38:06

    leetcode922_按奇偶排序数组2

    给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。 你可以返回任何满足上述条件的数组作为答案。   示例: 输入:[4,2,5,7] 输出:[4,5,2,7] 解释:[4,7

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-13 19:06:55

    leetcode74_搜索二维矩阵

    编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入: matrix = [   [1,   3,  5,  7],   [10, 11, 16, 20],   [2

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-13 18:32:28

    leetcode662_二叉树最大宽度

    给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。 每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。 示例 1: 输入: 

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-12 23:05:36

    ReentrantLock-----公平锁和非公平锁

    ReentrantLock的实现是基于其内部类FairSync(公平锁)和NonFairSync(非公平锁)实现的。 可重入性是基于Thread.currentThread()实现的: 如果当前线程已经获得了执行序列中的锁, 那执行序列之后的所有方法都可以获得这个锁。 公平锁和非公平锁获取方式大

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2019-01-01 21:47:08

    单调栈问题----烽火相望

      烽火相望 【网易原题】给你一个数组,数组中的每个数代表一座山的高度,这个数组代表将数组中的数从头到尾连接而成的环形山脉。比如数组[2,1,3,4,5]形成的环形山脉如下: 其中蓝色的圆圈就代表一座山,圈中的数字代表这座山的高度。现在在每座山的山顶都点燃烽火,假设你处在其中的一个山峰上,

    来自 牛客我最菜
    00
  • avatar 清心_恋旧 2019-07-27 11:39:48

    输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素

    public int minNumberInRotateArray(int [] array) { int result = 0; int length = array.length; if(length == 0){ return result; }else{ int tmp = Inte

    来自 清心_恋旧
    10
  • avatar 牛客我最菜 2018-12-29 21:47:41

    大数据和空间限制

    本篇文章读左神书籍有感 布隆过滤器 不安全网页的黑名单包含100亿个黑名单网页,每个网页的URL最多占用64B。现在想要实现一个网页过滤系统,可以根据网页的URL判断该网页是否在黑名单上,请设计该系统。 要求:1,该系统允许有万分之一以下的判断失误率;2,使用的额外空间不要超过30GB。 解

    来自 牛客我最菜
    10
  • avatar 牛客我最菜 2018-12-29 21:30:28

    最大值减去最小值小于或等于num的子数组的数量

    给定数组arr和整数num,返回共有多少个子数组满足如下情况: max(arr[i..j]) - min(arr[i..j]) <= num 要求:O(N)实现。   思路:          使用两个有序队列(相对于有序栈来命名)qmax和qmin,分别维护arr[i..j]的最大

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-27 20:50:28

    leetcode84_条形图的最大面积

    给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。   以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 1

    来自 牛客我最菜
    00
  • avatar Hachi_YLH 2019-07-27 11:41:06

    牛客HDU 补题记录

    牛客第二场 A EDDY WALKER https://ac.nowcoder.com/acm/contest/882/A B EDDY WALKER 2 https://ac.nowcoder.com/acm/contest/882/B E MAZE https://ac.n

    来自 Hachi_YLH
    00
  • avatar 大核桃露猪 2019-07-27 11:41:13

    Kmeans的Python实现

    Kmeans 实现: 参看:https://blog.csdn.net/hanxia159357/article/details/81530361 import numpy as np import matplotlib.pyplot as plt   # 加载数据 def loadDat

    来自 大核桃露猪
    10
  • avatar 牛客我最菜 2018-12-27 19:37:10

    剑指offer_滑动窗口最大值

    题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{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

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-26 22:36:53

    数组中子数组的最大累乘积

      描述: 给定一个double类型的数组arr,其中的元素可正、可负、可0,返回子数组累乘的最大乘积。例如,arr=[-2.5, 4,0,3,0.5, 8,-1],子数组[3,0.5, 8]累乘可以获得最大的乘积12,所以返回12。   思路: arr【i】表示到i位置时得到的最大累乘积

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-25 22:39:37

    leetcode807_保持城市天际线

    在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。 最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远处观看时

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-25 21:11:10

    leetcode695_岛屿的最大面积

    给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。) 示例 1: [[0,0,1,0,0,0,0

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-25 19:32:43

    leetcode143_重排链表

    给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 给定链表 1->2->3->4, 重新排列为 1->4->2-

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-25 13:21:49

    leetcode328_奇偶链表

    给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2-

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-23 23:28:42

    leetcode632_最小区间

    你有 k 个升序排列的整数数组。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。 我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。 示例 1: 输入:[[4,10,15,24,26], [

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-20 19:43:49

    leetcode112_路径总和

    给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例:  给定如下二叉树,以及目标和 sum = 22,               5              / \            

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-19 22:15:24

    数据库乐观锁和悲观锁

    1.乐观锁       认为数据的更新在大多数情况下是不会产生冲突的,只在数据库更新操作提交的时候才对数据作冲突检测。如果检测的结果出现了与预期数据不一致的情况,则返回失败信息。 实现方法:     1.借助版本号version  数据库表增加一个版本号的字段version,每次更新一行记录,

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-19 21:57:45

    leetcode551_学生出勤记录

    给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。 你需要根据这个学生的出勤

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-31 22:08:18

    Mysql优化相关

    概述 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-27 20:48:35

    单调栈问题---最大子矩阵的大小

    题目:给定一个整型矩阵map, 其中的值只有0 和 1 两种, 求其中全是1 的所有矩形区域中, 最大的矩形区域为1的数量。 例如: 1 0 1 1 1 1 1 1  1 1 1 0 其中,最大的矩形区域有6个1,所以返回6 。   思路:参考左神 public int m

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-25 20:04:57

    leetcode200_岛屿的个数

    给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 输出: 1 示例 2: 输入: 11000

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-18 23:25:54

    子数组和为指定值的最大长度

    给定一个只包含0或1的数组,找出其中包含相同0的个数和1的个数的最 长子序列,输出子序列的长度, 要求在O(n)的时间复杂度内完成。 如:对于数组[0,0,1,1,0],输出结果为4。子序列[0,0,1,1] 或 [0,1,1,0] 为符合条件的最长子序列,包含了两个1和两个0,个数相同。 来自基础

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-05-28 10:03:18

    Codeforces Round #562 (Div. 2) B. Pair(思维)

      题目链接:https://codeforces.com/contest/1169/problem/B        题意是输入n和m,然后输入m组数,输入的数都为1-n的数,然后问能否从1-n中找到两个不相同的数x和y使得这m组数中,每组都至少有一个数等于x或者等于y,如果可以输出YES,否

    来自 Charlesss
    00
  • avatar Charlesss 2019-05-11 16:59:44

    Codeforces Round #558 (Div. 2) C. Power Transmission(思维 map+set)

      题目链接:https://codeforces.com/contest/1163/problem/C2        题意是给了n个坐标,使他们两两任意相连,然后求出他们所有的直线的相交的点数。        可以想到的思路就是对于两条直线来说只要k不同就一定会有交点,所以可以想到的思路就

    来自 Charlesss
    00
  • avatar Charlesss 2019-05-11 16:52:35

    Codeforces Round #558 (Div. 2) B. Cat Party(思维)

      题目链接:https://codeforces.com/contest/1163/problem/B2        题意是删除一个数后,求一个最大的距离x,使得1-x中的数的出现个数相同        遍历每一位,对第i位维护一个1-i的所有数的出现次数,以及所有数的出现次数的出现次数,

    来自 Charlesss
    00
  • avatar Charlesss 2019-05-04 02:35:10

    HDU 3791 二叉搜索树(BST)

      题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3791        直接按第一个序列建二叉搜索树,然后接下来每一个需要判断的字符串都要建一个二叉搜索树,然后遍历一遍判断两个二叉搜索树是否相同就好了,需要注意的是最后遍历二叉搜索树的数据范围。

    来自 Charlesss
    00
  • avatar Charlesss 2019-05-04 02:07:09

    BST的INSERT、FIND、DELETE、遍历

              嗯...就是贴个板子   #include <bits/stdc++.h> using namespace std; struct node{ int num; node *p, *l, *r; }; node *root, *null; int n, x

    来自 Charlesss
    00
  • avatar Charlesss 2019-04-24 16:56:36

    Educational Codeforces Round 63 (Rated for Div. 2) D. Beautiful Array(dp)

      题目链接:https://codeforces.com/contest/1155/problem/D        题意是给了n个数,可以选择一个子区间,使得这个区间内的每一个数乘x,然后求一个和最大的子区间的值。        思路就是dp,对于一个区间有三种情况:          

    来自 Charlesss
    00
  • avatar Charlesss 2019-04-07 11:45:27

    Codeforces Global Round 2 C. Ramesses and Corner Inversion(思维)

      题目链接:https://codeforces.com/contest/1119/problem/C        题意是给了两个n*m的矩阵,可以对第一个矩阵进行操作,可以选择任意个子矩阵使其四个角的值取反,问是否能变为第二个矩阵。        如果一行或者一列的不同的个数是奇数肯定就

    来自 Charlesss
    00
  • avatar Charlesss 2019-04-07 10:52:53

    Codeforces Global Round 2 B. Alyona and a Narrow Fridge(二分)

      题目链接:https://codeforces.com/contest/1119/problem/B        题意是给了n个水瓶,一个高度h,现在要把这n个水瓶按顺序放到h*2的柜子里,柜子里可以有任意多个挡板(每个挡板上只能放2个水瓶),问最多可以放多少个水瓶。        思路

    来自 Charlesss
    00
  • avatar 牛客我最菜 2018-12-18 21:45:08

    数据库索引

    索引:用于提升数据库的查找速度 索引是建立得越多越好吗   (No) ➢数据量小的表不需要建立索引,建立会增加额外的索引开销 ➢数据变更需要维护索引,因此更多的索引意味着更多的维护成本 ➢更多的索引意味着也需要更多的空间   问题:哈希(hash)比树(tree)更快,索引结构为什么要设计成树型

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-04-07 10:46:15

    Codeforces Global Round 2 A. Ilya and a Colorful Walk(思维)

      题目链接:https://codeforces.com/contest/1119/problem/A        题意是输入n个数,然后找出两个不同的数使得他们之间的距离最大,输出这个最大的距离。        我的思路就是记录当前数的最左端和最右端的位置,然后分情况讨论一下就好了。

    来自 Charlesss
    00
  • avatar 牛客我最菜 2018-12-18 21:27:37

    Mysql数据引擎MyISAM和InnoDb

           MyISAM: 不支持事务,但是每次查询都是原子的; 支持表级锁,即每次操作是对整个表加锁; 存储表的总行数; 一个MYISAM表有三个文件:索引文件、表结构文件、数据文件; 采用非聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性 

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-17 23:54:27

    leetcode_子集2

    给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: [1,2,2] 输出: [   [2],   [1],   [1,2,2],   [2,2],   [1,2],   [] ]   思路: 在上一题的基础上

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-17 22:49:58

    leetcode78_子集

    给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [   [3],   [1],   [2],   [1,2,3],   [1,3],   [2,3],   [1,2],   []

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-17 18:25:40

    天气系统7------微服务

    SpringCloud  是一种微服务解决方案  包含很多子项目   子项目: SpringCloud Config SpringCloud Netflix       Eureka  Zuul  Hystrix  Archaius SpringCloud Bus SpringCloud Clu

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-17 12:54:31

    leetcode33_搜索旋转排序数组

    假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-16 23:17:13

    剑指offer---二叉树镜像

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树              8            /  \           6   10          / \  / \         5  7 9 11         镜像二叉树    

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-16 22:46:01

    leetcode130_被围绕的区域

    给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-16 22:03:50

    天气系统6------微服务----------------单体项目的拆分

    1.天气数据采集微服务的实现 单体项目-------------------》msa-weather-collection-server 要利用redis,quartz   该微服务只需要做到对天气数据的同步    void syncDateByCityId(String cityId); 

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-04-01 10:11:24

    Codeforces Round #550 (Div. 3) F. Graph Without Long Directed Paths(dfs染色)

      题目链接:https://codeforces.com/contest/1144/problem/F        题意是n个点m条边,使这个无向图变为有向图,其实就是一个类似二分图染色的一个操作,dfs一下就好了 AC代码: #include <bits/stdc++.h&g

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-29 12:07:28

    树状数组求逆序数

               粘个板子   #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 500005 #define l

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-22 16:17:41

    Codeforces Round #548 (Div. 2) C. Edgy Trees(思维+dfs)

      题目链接:https://codeforces.com/contest/1139/problem/C        题意是给了一棵树,n个点,m条边。让从中选k个点,使得从a1到a2,a2到a3,ak-1到ak的路径中至少经过一条黑色的边,问这样的集合有多少个        思路就是求他们

    来自 Charlesss
    00
  • avatar 牛客我最菜 2018-12-16 19:59:58

    天气系统4------微服务

    接着前面的写 前几篇博客已经可以实现一个天气预报系统,redis可以存半小时内最新的天气数据 而quartz也会半小时执行一次天气数据同步job 将xml文件中的所有城市的信息全部读出  并且逐个去请求天气接口 获得天气数据 保存在redis里面 但是经过我们启动 发现没有前端页面 用户体验极

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-16 14:56:18

    leetcode873_最长的斐波那契子序列的长度

    如果序列 X_1, X_2, ..., X_n 满足下列条件,就说它是 斐波那契式 的: n >= 3 对于所有 i + 2 <= n,都有 X_i + X_{i+1} = X_{i+2} 给定一个严格递增的正整数数组形成序列,找到 A 中最长的斐波那契式的子序列的长度。如果一个不存在

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-16 13:56:41

    leetcode96_不同的二叉搜索树

    给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树:    1         3     3      2      1     \       /     /      /

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-16 13:17:31

    leetcode746_使用最小花费爬楼梯

     数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-15 22:28:22

    天气系统3------微服务

    之前写到  通过封装的API  已经可以做到使用redis进行缓存天气信息 但是这一操作每次都由客户使用时才进行更新  不友好  所以应该自己实现半小时的定时存入redis  使用quartz框架   首先添加依赖 build.gradle中 // Quartz compile('or

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-03-21 08:57:08

    Codeforces Round #547 (Div. 3) C. Polycarp Restores Permutation(思维)

      题目链接:https://codeforces.com/contest/1141/problem/C        题意是有一个数组p,为1-n的一个排列,现在有一个q数组,使得每一位qi = pi+1 - pi,现在给出了q数组,让你还原出p数组,如果还原不出p数组输出-1      

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-20 21:44:29

    Codeforces Round #547 (Div. 3) B. Maximal Continuous Rest(思维)

      题目链接:https://codeforces.com/contest/1141/problem/B        题意是首尾相连,问最多有多少个1相连。        思路就是将原数组在后面复制一下,直接跑一遍就好了 AC代码: #include <bits/stdc++.

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-20 21:42:13

    Codeforces Round #547 (Div. 3) A. Game 23(思维)

      题目链接:https://codeforces.com/contest/1141/problem/A        题意是输入a和b,a每次只能乘2乘3,问要乘多少次可以变为b。        思路就是如果b不能整除a肯定是不行的,又因为a只能乘2乘3,所以x = b / a中x的因子只能

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-12 16:21:34

    Codeforces Round #546 (Div. 2) C. Nastya Is Transposing Matrices(思维)

      题目链接:https://codeforces.com/contest/1136/problem/C        题意是输入两个n*m的矩阵,可以对a矩阵中的子矩阵进行转置(正方形),问经过任意次操作后能否变为b矩阵        我们可以发现每次转置对角线元素是不变的,对于2*2的矩阵

    来自 Charlesss
    00
  • avatar Charlesss 2019-05-28 10:48:38

    Codeforces Round #562 (Div. 2) C. Increasing by Modulo(二分+贪心)

      题目链接:https://codeforces.com/contest/1169/problem/C        题意是输入n和m,然后输入n个数,有一种操作每次选k个数,使得这k个数+1然后再取余m,问至少要多少次可以使这个序列变为非递减的序列。        我们可以二分操作数,然后

    来自 Charlesss
    00
  • avatar Charlesss 2019-04-01 10:34:26

    Codeforces Round #550 (Div. 3) D. Equalize Them All(思维)

      题目链接:https://codeforces.com/contest/1144/problem/D        题意是给了n个数,对于ai有两种操作,一种是ai = ai + |ai - aj|,另一种是ai = ai - |ai - aj|(i和j必须相邻),问至少多少次操作后能使这n

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-21 09:08:39

    Codeforces Round #547 (Div. 3) D. Colored Boots(思维)

      题目链接:https://codeforces.com/contest/1141/problem/D        题意是给了两个长度为n的字符串,问最多有多少对字符匹配,问号可以换成任意字符。        其实思路很简单,就是实现起来可能会比较麻烦。思路就是首先让两个字符串的字符先匹配

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-12 16:16:31

    Codeforces Round #546 (Div. 2) B. Nastya Is Playing Computer Games(思维)

      题目链接:https://codeforces.com/contest/1136/problem/B        题意是有n个井,每个井下有一把钥匙,刚开始每个井上有一块石头,有一个人现在在第k个井旁边,他想要用最短的时间拿到n把钥匙,其中每搬走一块石头花费1s,每拿走一把钥匙花费1s,每

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-08 11:22:59

    Codeforces Round #544 (Div. 3) F1. Spanning Tree with Maximum Degree(bfs)

      题目链接:http://codeforces.com/contest/1133/problem/F1        题意是给了n个点m条无向边,让求一个生成树,使得每个点的度数尽量大。        思路就是我们按照点的度数去bfs跑一下就好了。 AC代码: #include &l

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-08 11:07:31

    Codeforces Round #544 (Div. 3) D. Zero Quantity Maximization(思维)

      题目链接:http://codeforces.com/contest/1133/problem/D        题意是输入一个n,加下来分别输入n个a[i]和b[i],现在让你找一个d,现在要求一个c数组,c[i] = d * a[i] + b[i],要使的c数组中有最多的0,问最多的0的

    来自 Charlesss
    00
  • avatar 牛客我最菜 2018-12-15 21:43:02

    天气系统1------微服务

    前言: 之前自己写过一个智能天气穿搭系统,是跟树莓派结合根据天气状况以及个人喜好来推荐今日搭配 而之前对微服务springboot和springcloud有一些了解  所以想对天气项目模块进行改造   话不多说,开始正题 首先快速创建一个springboot项目 进入start.spri

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-03-08 10:55:50

    Codeforces Round #544 (Div. 3) C. Balanced Team(upper_bound)

      题目链接:http://codeforces.com/contest/1133/problem/C        题意是给了n个数,让你找出m个数,使得这m个数中的最大值减去最小值不大于5,求最大的m        本来感觉暴力可以写,但是不知道为什么wa8(可能姿势不太对,看别人的O(n

    来自 Charlesss
    00
  • avatar Charlesss 2019-03-08 10:46:41

    Codeforces Round #544 (Div. 3) B. Preparation for International Women's Day(思维)

      题目链接:http://codeforces.com/contest/1133/problem/B        题意是输入n和k,接下来输入n个数,问最多有多少对数相加可以整除k(pre[i] + pre[j] % k == 0 && i != j)        思路就

    来自 Charlesss
    00
  • avatar 牛客我最菜 2018-12-18 23:32:55

    只有0_1的数组

    对上一篇博客问题进行改进https://blog.csdn.net/qq_41864967/article/details/85084614   给定一个只包含0或1的数组,找出其中包含相同0的个数和1的个数的最 长子序列,输出子序列的长度, 要求在O(n)的时间复杂度内完成。 如:对于数组[0

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-03-08 10:23:35

    Codeforces Round #544 (Div. 3) A. Middle of the Contest(思维)

      题目链接:http://codeforces.com/contest/1133/problem/A        题意是给了两个时间,求出他们的中间时间        没啥好讲的,直接敲就好了 AC代码: #include <bits/stdc++.h> using n

    来自 Charlesss
    00
  • avatar 牛客我最菜 2018-12-18 22:33:47

    进程和线程------另补充僵尸进程和孤儿进程

    线程和进程各自有什么区别和优劣呢? 进程是资源分配的最小单位,线程是程序执行的最小单位。 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-03-07 15:55:37

    Educational Codeforces Round 61 (Rated for Div. 2) C. Painting the Fence(思维+前缀和)

      题目链接:http://codeforces.com/contest/1132/problem/C        题意是有n个点,m条线段,问用m-2条线段最多可以覆盖多少个点。        思路就是暴力枚举,但是虽然数据范围不大,但是太暴力也还是过不了的,所以我们可以用前缀和去优化把查

    来自 Charlesss
    00
  • avatar 牛客我最菜 2018-12-16 20:38:00

    天气系统5------微服务

    前面写了那么多  虽然是Springboot开发的   但还是一个单体的架构  现在 我们来开始面向服务化来进行拆分 微服务拆分的原则: 拆分足够微小 轻量级通信 领悟驱动原则 单一职责任 不限于技术栈   微服务系统的设计: 服务拆分 服务注册 服务发现 服务消费 统一

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-15 22:01:41

    天气系统2------微服务

    开始天气系统的搭建了 两个个天气API http://wthrcdn.etouch.cn/weather_mini?citykey=101280101    通过城市id获取天气 http://wthrcdn.etouch.cn/weather_mini?city=广州           

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-15 21:14:55

    leetcode139_单词拆分

    给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDi

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-15 00:10:51

    leetcode494_目标和

    给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 示例 1: 输入: nums: [1, 1, 1, 1

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-14 20:52:17

    leetcode875_爱吃香蕉的珂珂

    珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。 珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香

    来自 牛客我最菜
    10
  • avatar 牛客我最菜 2018-12-14 19:28:12

    leetcode338_比特位计数

     给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: 5 输出: [0,1,1,2,1,2] 进阶: 给出时间复杂度为O(n*sizeof(i

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-03-04 13:28:20

    Codeforces Round #543 (Div. 2, based on Technocup 2019 Final Round) A. Technogoblet of Fire(思维)

      题目链接:https://codeforces.com/contest/1121/problem/A        题意是有n个学生,m所学校,输入n个学生的能力值,然后又输入了这n个学生的学校,现在要参加一个比赛,每个学校只派出一个能力值最高的学生参加,然后输入了k个学生编号,现在可以虚构

    来自 Charlesss
    00
  • avatar Charlesss 2019-02-25 11:25:48

    Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) D1. Toy Train (Simplified)(思维)

      题目链接:http://codeforces.com/contest/1130/problem/D1        题意是有n个火车站m颗糖,车站编号从1到n(环形),火车也是从1到n方向开,下来m行每行有两个数a b,表示第a个车站有一颗糖要被运往b,已知火车在一个站只能装一颗糖(这个意思

    来自 Charlesss
    00
  • avatar Charlesss 2019-02-25 10:37:25

    Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) C. Connect(bfs)

      题目链接:http://codeforces.com/contest/1130/problem/C        题意是给了一个n*n的地图,然后给了起点和终点的坐标,其中地图中陆地为0,水面为1。有一个人只能走陆地,他想从起点走到终点,他可以在任意两个陆地之间建一座桥(只能建一座桥),花费

    来自 Charlesss
    00
  • avatar Charlesss 2019-02-25 10:20:18

    Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) B. Two Cakes(思维)

      题目链接:http://codeforces.com/contest/1130/problem/B        题意是输入一个n说明编号为1-n的蛋糕,然后输入2*n个数,表示编号为ai的蛋糕在第i个位置(1-n每个数出现两次),现在有两个人在第一个位置,他们两个人要分别要拿n个蛋糕,且只

    来自 Charlesss
    00
  • avatar Charlesss 2019-02-25 10:06:51

    Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) A. Be Positive(水题)

      题目链接:http://codeforces.com/contest/1130/problem/A        题意是输入n个数,让找一个d,使得所有数除以d,问除以d以后如果有x个正数,且x大于等于n/2向上取整,就输出这个d。        思路就是找有多少个正数和多少个负数,然后除

    来自 Charlesss
    00
  • avatar 牛客我最菜 2018-12-14 13:31:21

    leetcode152_乘积最大子序列

    给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, 因为 [-2,-1] 不

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-13 23:12:51

    leetcode650_只有两个键的键盘

    最初在一个记事本上只有一个字符 'A'。你每次可以对这个记事本进行两种操作: Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。 Paste (粘贴) : 你可以粘贴你上一次复制的字符。 给定一个数字 n 。你需要使用最少的操作次数,在记事本中打印出恰好

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-13 20:47:29

    leetcode264_丑数2

    编写一个程序,找出第 n 个丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。 说明:   1 是丑数。 n 不超过1690。     思路:

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-13 18:57:23

    leetcode64_最小路径和

    给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [   [1,3,1],   [1,5,1],   [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。

    来自 牛客我最菜
    00
  • avatar 牛客我最菜 2018-12-13 14:52:21

    leetcode63_不同路径2

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用

    来自 牛客我最菜
    00
  • avatar Charlesss 2019-02-23 22:44:50

    Codeforces Round #541 (Div. 2) F. Asya And Kittens(并查集+邻接表)

      题目链接:https://codeforces.com/contest/1131/problem/F        题意是有n个数,有n-1种关系,最终会构成一颗树,从根节点按顺序输出这n个点,其实看图就理解的差不多了。        思路就是按题意将所要连的两个链表merge一下就好了,

    来自 Charlesss
    00