分而治之Fork-Join 框架
什么是 Fork-Join Fork/Join框架是Java7提供了的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架,这种开发方法也叫分治编程。分治编程可以极大地利用CPU资源,提高任务执行的效率,也
CountDownLatch 和 CyclicBarrier 的用法
CountDownLatch 作用:是一组线程等待其他的线程完成工作以后在执行,加强版join await 用来等待,countDown 负责计数器的减一 public class UseCountDownLatch { static CountDown
在flutter中使用高德地图
1. 配置Android原生文件,在如下文件中的application中添加如下内容 2. 配置高德地图的sha1 2.1在Android studio中打开原生Android窗口 2.2. 找到sha1:双击signingReport即可获取 2.3
Bandwidth(爆搜)
这是一道暴力都能过的题,重点其实在于理解题意,输入过程也有一点繁琐。 1.题意 先给定一个无向图,要重新安排结点的顺序,使得相邻的节点在排列中的最大距离最小 2.Solution 明显的爆搜,难就难在如何建模,其实只要把出现过的字符放到一个数组记录起来,然后搜索的时候依次安排每个节点的字母 分块讲解: (1)输入 //首先我们可以先把":"前面的字符提出来作为u,再在:后面的字符拿出来做v
//Coder-cjh
void init(){
mind=1e9;tot=0;
k-means聚类分析范例程序
K-Means聚类算法原理参考以下链接: https://www.cnblogs.com/pinard/p/6164214.html 2. 传统K-Means算法流程 在上一节我们对K-Means的原理做了初步的探讨,这里我们对K-Means的算法做一个总结。 首先我们看看K-Means算法的一些要点。 1)对于K-Means算法,首先要注意的是k值的选择,一般来说,我们会根据对数据的先验经验选择一个合适的k值,如果没有什么先验知识,则可以通过交叉验证选择一个合适的k值
python 基本排序算法
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/6/24 下午7:54
# @Author : lb
# @File : test.py
import numpy as np
arr = np.random.randint(1000, size=1000)
print type(arr)
# 冒泡排序
def buble_sort(arr):
return
fo
实现一个简易版webpack
现实 webpack 的打包产物 大概长这样(只把核心代码留下来): 实现一个简版的webpack 依葫芦画瓢,实现思路分2步: 1. 分析入口文件,把所有的依赖找出来(包括所有后代的依赖) 2. 拼接出类似上面的立即执行函数 找依赖 const fs = require('fs');
const path = require('path');
const parser = require('@babel/parser');
const traverse = require('@babe
说说 HeapSort 堆排序思想,以及个人优化方案。(老物)
听说你要排上亿个数据之 HeapSort ? 前言 : 来来来,今天我们来说说一个用来排大量数据所用的基础比较排序吧~ 注:阅读本文学习新技能的前置要求为:了解什么是二叉树及其数组性质,如果未达到要求的同学请直接看完图默默点右上角的×就好=- =~ 在那之前我们先来看一个图 嗯,是不是很好玩?这玩意就是所谓的 HeapSort (堆排序) 而我们今天就来说说怎么像图例所示那样来进行我们的排序操作吧~ 所谓的 HeapSort 呢,就是在一直做一件事,这件事用高雅点的名词就叫: HeapAdju
入门级练习题(16-)
Q16:1.系统随机生成4位数,作为登录验证,2.用户输入用户名和密码还有验证码,3.共3次登录机会,但如果是验证码错误,不扣次数 重点:理解验证码的循环 from random import randint num=0 verify_code = '' while num < 4: verify_code += chr(randint(65,90)) num += 1 print(verify_code) username='zong' password='123' num=
优化 Karatsuba 乘法(老物)
虽然写好了我自己用的a*启发函数但还是有些不尽人意,如果通过数学分析确定不出问题可以工作了的话应该就会发出来了 // Karatsuba 递归式距离推导
// h(x) = f(x) * g(x)://x为拆分后余出的10^x
// h(x) = (a * x + b) * (c * x + d) = a * c * (x^2) + (a * d + b * c) * x + b * d
// (a * d + b * c) = (a + b) * (c + d) - a * c - b *
更丰富的符号工具包 Font Awesome
我时常想要在此类文档中通过一些图形符号来表达更丰富的含义或是对段落进行标注,例如使用 Emoji。然而 Emoji 在这方面仍然有存在一些不足,如: 颜色与文字风格不统一, 在不同系统的平台上显示不统一, 种类有限,很多时候找不到合适的表情。 这时,可以在文档写作时引入另一个更丰富的符号工具包 Font Awesome。 简介 Font Awesome 是一个字体和图标工具包,包含人物、动物、建筑、商业、品牌等等各种主题丰富的图标符号,可以通过相应的语法添加在 Markdown 文档中,像 E
1014 Dividing dp/dfs
先用dfs方法:(注意剪枝的重要性) #include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int sumvalue,halfvalue;
int n[7];
bool flag;//记录是否能够进行平分。
void dfs(int value,int c){
if(flag)
return;
if(value==halfvalue){
k8s和docker简介
2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。 正当他们快要坚持不下去的时候,脑子里蹦出
通过百度AI识别简单的验证码
为什么要使用百度AI的: 百度AI这个我之前用到的是语音识别,想着肯定也有图片识别成文字的,所以找了一下果然找了,而且可以免费使用一点。 注:调用的这个百度AI识别不是专门识别验证码图片的(它可以识别图片中的所有文字,包括空格),所以只能识别一些简单的验证码,专业的使用超级鹰(收费) 使用到的场景: (1) 最近再写一个web自动化测试项目,在里面有一个selenium功能就是需要识别验证码。 (2) 在用爬虫爬取登陆后的页面内容时候,也需要识别验证码 百度AI找的地方: 支持识别的图片格式:
定义一元二次方程求根函数
#include<stdio.h>
#include<math.h>
//定义一元二次方程求根函数函数
void qiugen(float a,float b,float c){
float x,y;
if(b*b<4*a*c)
printf("该方程没有实根");
else if(b*b==4*a*c){
x=-b/(2*a);
printf("该方程有一个根%f",x);
}
else {
x=(-b+sqrt(b*b-4*a*c))/(a*2);
y=(-b-s
虚拟机和docker简单对比
原文: Comparing Virtual Machines vs Docker Containers 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 首先,大家需要明确一点,Docker容器不是虚拟机。 2014年,当我第一次接触Docker的时候,我把它比做一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快。Docker不停地给大家宣传,”虚拟机需要数分钟启动,而Docker容
sql:union 与union的使用和区别
SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。目的保证查询出来的数据是同意类型的 SQL UNION 语法 SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注释:默认地,U
今日推荐
周排行