自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1258)
  • 资源 (2)
  • 收藏
  • 关注

原创 dfs & bfs

图的构建及打印#include <iostream>#include <queue>#include <vector>using namespace std;const int MAX_V = 100;vector<vector<int>> adj(MAX_V);void AddEdge(int from, int to) { adj[from].push_back(to); adj[to].push_back(from)

2021-09-06 21:49:32 293

原创 kubeadm init 超时

k8s 集群搭建:https://www.shuzhiduo.com/A/QV5ZDG04zy/kubeadm init 报超时错误:failed to pull image "k8s.gcr.io/kube-apiserver:v1.20.4": output: Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.T

2021-02-27 17:44:48 1446 1

原创 旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof

2021-01-30 12:06:37 359

原创 相交链表

编写一个程序,找到两个单链表相交的起始节点。输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。在 A 中,相交节点前有 2 个节点;在

2021-01-30 12:04:44 197

原创 矩阵中的路径

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格

2021-01-26 17:31:18 118

原创 顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <= matrix.length <= 1000 <= matrix[i].length <= 100来

2021-01-24 20:50:35 101

原创 数值的整数次方

实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有符号整数

2021-01-24 19:32:58 101

原创 链表中倒数第k个节点

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-

2021-01-24 18:52:44 107

原创 二维数组中的查找

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 target = 5,返回 true。给定 ta

2021-01-24 18:31:27 98

原创 数组中重复的数字

找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-z

2021-01-24 18:11:03 104

原创 数组中第 k 大的数字

#include <iostream>using namespace std;int partion(int arr[], int left, int right) { if (left >= right) { return left; } int i = left, j = right; int tmp = arr[i]; while (i < j) { while (i < j &am

2021-01-24 16:12:38 133

原创 字符串数组最长公共前缀

#include <iostream>#include <vector>using namespace std;string str_longest_prefix(string str1, string str2) { if (str1 == "" || str2 == "") { return ""; } int i = 0, j = 0; string result = ""; while (i < str

2021-01-21 21:07:44 134

原创 输出两个字符串数字的差

已知:第一个数字大于第二个数字。#include <iostream>#include <vector>using namespace std;// 1004// 45// 959// 114// 45// 69string subtract(string a, string b) { if (a == "") { return ""; } if (b == "") { return

2021-01-19 22:39:07 418 1

原创 编译原理之美 --- 05 | 语法分析(三):实现一门简单的脚本语言

simple_script.py#!/usr/bin/env python# -*- coding: utf-8 -*-from play_with_compiler.craft.simple_parser import SimpleParserfrom play_with_compiler.craft.base_type import ASTNodeTypeimport sys'...

2019-12-29 18:12:37 1983

原创 python 进程交互:Queue

#!/usr/bin/env python# -*- coding: utf-8 -*-import timeimport datetimeimport multiprocessingfrom multiprocessing import Process, Manager, Lock, Queuefrom threading import Threadimport ctypes, ...

2019-12-24 09:55:55 204

原创 centos 开启防火墙端口

查看所有打开的端口:firewall-cmd--zone=public --list-ports添加端口:firewall-cmd --zone=public --add-port=80/tcp --permanent 重新载入:firewall-cmd --reload参考https://blog.csdn.net/u012498149/article/details/787...

2019-12-22 18:05:19 309

原创 python 进程与线程的交互

#!/usr/bin/env python# -*- coding: utf-8 -*-import timeimport datetimefrom multiprocessing import Process, Manager, Lockfrom Queue import Queuefrom threading import Threadimport ctypes, osimp...

2019-12-22 04:57:30 282

原创 python --- 线程不适合计算密集型的例子

多个线程干同一件事 VS 一个线程干一件事居然后者更快一些,原来 python 中的线程不适合计算密集型。原因:https://www.dabeaz.com/usenix2009/concurrent/Concurrent.pdf#!/usr/bin/env python# -*- coding: utf-8 -*-from threading import Threadimport...

2019-12-19 17:49:16 385

原创 epoll 的 maxevents 参数

maxevents: Size (in terms of number of events) of the caller event buffer.如果有超过 maxevents 的事件就绪,会被抛弃吗?epoll 源码:https://github.com/torvalds/linux/blob/master/fs/eventpoll.cepoll_wait 的调用栈:epoll_wai...

2019-12-12 17:22:27 1604

原创 python 中 queue 高效的原因

queue 高效的原因:底层使用了 dequeuedequeue:[1] C 编写[2] dequeu 的 append 和 popleft 方法的时间复杂度均为 O(1)[3] 完全避免了 realloc(),当空间不够时,再分配一个 block 即可[4] 一个 block 的默认大小为 64,避免了频繁调用 malloc() 和 free()[5] block 内元素的指针连续,...

2019-12-12 11:42:40 298

原创 git配置

[1] 生成 ssh key$ ssh-keygen -t rsa -C "你的git的注册邮箱"接着又会提示你输入两次密码(该密码是你 push 文件的时候要输入的密码,而不是 github 管理者的密码),当然,你也可以不输入密码,直接按回车(推荐)。那么 push 的时候就不需要输入密码,直接提交到 github 上了。[2] 添加 ssh key 到 github 上登录你的 g...

2019-12-11 16:30:34 167

原创 编译原理之美 --- 04 | 语法分析(二):解决二元表达式中的难点

核心循环代替左递归。代码以前:''' 语法解析:加法表达式 ''' def additive(self, tokens): child1 = self.multiplicative(tokens) node = child1 token = tokens.peek() if (child1 != No...

2019-12-09 22:32:27 1703

原创 编译原理之美 --- 03 | 语法分析(一):纯手工打造公式计算器

simple_calculator.py#!/usr/bin/env python# -*- coding: utf-8 -*-from play_with_compiler.craft.base_type import ASTNodefrom play_with_compiler.craft.base_type import Token, TokenReader, TokenType, ...

2019-12-08 22:15:32 1082

原创 react --- 父子组件间通信

子组件改变父组件的状态父组件class Father extends React.Component { constructor(props) { super(props) this.state = { myState: "myState", } this.setMyState = this.setMyState.bind(this) } setMySta...

2019-12-07 16:13:34 143

原创 编译原理之美---正则文法和有限自动机:纯手工打造词法分析器

craf.h#ifndef _Craft_H_INCLUDED_#define _Craft_H_INCLUDED_#include <string>#include <vector>#include <queue>using namespace std;/** * Token的类型 */enum class TokenType{ ...

2019-12-01 23:20:26 1294

原创 eventfd 进程间同步

先打印“parent”,后打印“child”#define _GNU_SOURCE#include <stdio.h>#include <stdlib.h>#include <sys/eventfd.h>#include <unistd.h>#include <sys/wait.h>#include <sched.h&...

2019-11-07 15:55:53 416

原创 轻量级容器程序

阳哥的程序:https://github.com/Pro-YY/jail主进程:argp_parse 解析输入参数。用 root 身份建立了 cgroup(限制一组进程的资源),rlimit(限制一个进程或者一个用户的资源)。调用带 CLONE_NEW* 标志的 clone() 创建子进程。配置网络。写 eventfd,通知子进程,子进程继续执行。向 epoll 中注册信号、超时事...

2019-11-06 19:45:51 363

原创 c --- 参数解析

例子一原文:https://www.gnu.org/software/libc/manual/html_node/Argp-Example-1.html#Argp-Example-1argp 最小的例子。当有参数时,给出一条错误消息。当指定选项“-- help”时,打印消息。#include <stdlib.h>#include <argp.h>int...

2019-11-06 14:36:35 2524

翻译 Mount namespaces, mount propagation, and unbindable mounts

在上一期命名空间系列的文章中,我们研究了挂载命名空间和共享子树的基本概念,包括挂载传播类型和对等组的概念。在这篇文章中,我们提供了各种传播类型操作的一些实际演示:MS_SHARED,MS_PRIVATE,MS_SLAVE 和 MS_UNBINDABLE。MS_SHARED 和 MS_PRIVATE 示例正如在上一篇文章中看到的,MS_SHARED 和 MS_PRIVATE 传播类型大致相反。共...

2019-11-04 01:36:24 616

翻译 Mount namespaces and shared subtrees

挂载命名空间是创建每-用户和每-容器文件系统树的强大而灵活的工具。本文中,我们将仔细研究共享子树特性,它可通过自动、可控的方式在挂载命名空间之间传播挂载和卸载事件。引言挂载命名空间是第一个添加到 Linux 的命名空间类型,出现在 2002 年的 Linux 2.4.19 中。它们可隔离命名空间中的进程所看到的挂载点列表。换言之,每个挂载命名空间都有自己的挂载点列表,这意味着不同命名空间中的进...

2019-11-03 20:55:40 345

翻译 Namespaces in operation, part 7: Network namespaces

自从上次我们研究 Linux 命名空间以来已经有一段时间了。我们的系列缺少了一篇,现在补上:网络命名空间。顾名思义,网络命名空间将网络设备、地址、端口、路由、防火墙规则等的使用划分在不同的盒子,基本上是在一个单独运行的内核实例中虚拟化网络。网络命名空间在 2.6.24 版进入内核,约 5 年前;大概一年后,它们才进入黄金时段。从那以后,它们似乎在很大程度上被开发人员忽略了。基本的网络命名空间管理...

2019-11-03 16:43:36 231

翻译 Namespaces in operation, part 6: more on user namespaces

本文中,继续上周关于用户命名空间的讨论。特别的,我们看一下更多有关与用户命名空间、capabilities 的交互及用户命名空间与其它类型的命名空间的结合。本文是命名空间系列的最后一篇。用户命名空间和 capabilities每个进程都会关联特定用户命名空间。一个通过不带 CLONE_NEWUSER 标志的 fork() 或 clone() 创建的进程与父进程位于同一用户命名空间。进程如果在目...

2019-11-02 23:03:24 211

翻译 Namespaces in operation, part 5: User namespaces

继续我们的命名空间系列文章,本文看一下用户命名空间,大部分实现于 Linux 3.8。(剩余的工作是 XFS 和其它文件系统中的一些改动;后者在 3.9 被合并)。用户命名空间与用户和组 ID 相映射。这意味着一个进程在某个用户命名空间内的用户和组 ID 可以与用户命名空间外的不同。最重要的是,一个进程可以在一个命名空间外有一个非 0 的用户 ID ,同时在命名空间内有一个为 0 的用户 ID;换...

2019-11-01 11:13:55 332

翻译 Namespaces in operation, part 4: more on PID namespaces

在本文中,我们将继续上周关于 PID 命名空间的讨论(并扩展我们正在进行的关于命名空间的系列文章)。PID 命名空间的一个用途是实现一个进程包(容器),其行为类似于一个自包含的 Linux系统。init 进程是传统系统和 PID 命名空间容器的关键部分。因此,我们将研究 init 进程的特殊角色,并着重于它与传统 init 进程不同的几个方面。此外,我们还将研究命名空间 API 应用于 PID 命...

2019-10-30 12:01:40 248

翻译 Namespaces in operation, part 1: namespaces overview

Linux 3.8 合并窗口接受了 Eric Biederman 的大量用户命名空间及相关的补丁。尽管仍有一些细节待完成,例如,许多 Linux 文件系统还不知道用户命名空间,但用户命名空间的实现已经在功能上完成了。用户命名空间的完成是一个里程碑。首先,这项工作代表了迄今为止命名空间中最复杂实现之一的完成,因为自从用户命名空间实现首次实现(在Linux2.6.23中)以来,已经有五年左右的时间了...

2019-10-29 19:21:39 283

翻译 Namespaces in operation, part 2: the namespaces API

命名空间将全局系统资源包装在一个抽象中,使得命名空间中的进程认为它们拥有独立的资源实例。命名空间可用于多种目的,最重要的是实现容器,一种轻量级虚拟化技术。本系列的第二篇文章将看一下命名空间的一些细节和 API。本系列中的第一篇文章对命名空间进行了总览。本文将看一下命名空间 API 中的一些细节,并在一些例子中展示运行中的 API。命名空间 API 包含三个系统调用:clone(),unshare...

2019-10-29 17:20:32 229

翻译 Namespaces in operation, part 3: PID namespaces

接着前两篇命名空间文章(Part 1: namespaces overview and Part 2: the namespaces API),现在看一下 PID 命名空间。与 PID 命名空间相关的全局资源就是进程 ID 数字空间。这意味着在不同 PID 命名空间中的进程可以有相同的进程 ID。PID 命名空间实现的容器可在主机之间迁移,并保持容器内的进程 ID 不变。对于传统 Linux (...

2019-10-28 22:28:38 309

原创 Node.js --- http-server

安装npm install http-server -g运行http-server -p 1234-p 后面是端口号,可以换就可以在浏览器中访问了,记得加端口号,无需写一行代码就有了一个 server

2019-10-22 15:30:53 171

原创 Node.js --- require 中的全局变量

obj.jsvar S // 全局变量function init(value) { S = { s: value }}init('hello')console.log("obj.js: " + S.s)module.exports = { S: S, init: init}ref.jsvar obj = ...

2019-10-21 16:00:25 934

原创 Node.js --- 重定向

var http = require('http');http.createServer(function(request, response) { response.writeHead(301, {Location: 'http://baidu.com'}); response.end()}).listen(3000);console.log('Serv...

2019-10-18 18:13:44 208

Rx_Net35_SP1

.Net 3.5 下使用 System.Threading.Tasks。安装后,在目录 C:\Program Files (x86)\Microsoft Reactive Extensions\Redist\DesktopV2 下找到 System.Threading.dll,添加引用即可

2019-03-13

简单的CNN示例代码,简单的CNN示例代码,

c++ 的简单的CNN示例代码。码。

2017-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除