天南之城的后花园

记录精彩的程序人生

文章

Docker学习笔记(一)

官网:https://www.docker.com/ Github Docker 源码:https://github.com/docker/docker-ce 英文文档:https://docs.docker.com/ 中文文档:https://www.dockerdocs.cn/index.html 下载步骤 略 。 Tips: linux docker需要sudo权限,在安装后可以把用户加入Docker用户组 windows下载比较麻烦,需要wsl2以及其他虚拟机支持,不同docker版本的文件组织方式也有些微区别,在下载安装过程中,如果报错,确保您follow的教程是最新的! 验证安装成功,在命令行中输入 docker version Get Started Docker是介于虚拟环境与虚拟机之间的,提供程序运行容器的平台。Docker在应用程序开发中可为开发人员提供方便的标准化环境;在服务器部署时,Docker使您能轻松移植到不同服务器或虚拟机中;在深度学习环境配置时,也能通过Docker实现不同本机Cuda的隔离。 首先,我们需要明确几个术语: Docker daem....

SQLite快速入门

SQLite入门 如果学校的数据库课程使用SQLite3,或者零基础入门数据库SQLite3,那么这篇一定能帮到你! SQLite是一个无服务器的、支持事务(Transaction)的、不需要前置配置的轻量级数据库。 这意味着只需要下载解压后,可以几乎无条件地开始数据增删改查。 SQLite安装 Step1: 从官网(https://www.sqlite.org/download.html)下载您计算机对应版本SQLite工具,选择包含以下工具的文件: 命令行交互界面(the command-line shell)——sqlite3.exe 数据库差异比较&迁移工具(sqldiff) 数据库文件和查询性能工具(sqlite3_analyzer) 远程数据同步工具(sqlite3_rsync) Step2: 下载好后,找到该压缩包,并解压到文件夹,如“C:\COMP”,使该目录结构如下: C:\COMP sqlite3.exe sqldiff.exe sqlite3_analyzer.exe sqlite3_rsync.exe Step3: 运行SQLite,验证安....

AC自动机

520. 检测大写字母 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。 示例 1: 输入: word = "USA" 输出: true 示例 2: 输入: word = "FlaG" 输出: false 思路 ac表示当前状态,state表示输入状态 由第一个字母大小写决定ac初状态 word[0]大写:ac初状态0 word[0]小写:ac初状态2 当ac初状态0时(即首字母大写):下一个字母可以大写,也可以小写 当ac初状态2时(即首字母小写):下一个字母只能小写 当ac状态为1时(即前n个字母均大写):下一个字母只能大写 当ac状态为2时(即当前字母小写):下一个字母只能小写 以上状态转移失败均跳转到ac=4,具体流程如图所示。 python实现: class Solution: def detectCapita....

前缀和:一维+二维

前缀和 特征 求「连续段」区域和 分类 一维前缀和 303 二维前缀和 304 通用公式 ans = sum[j] - sum[i - 1]。 例子 303. 区域和检索 - 数组不可变 给定一个整数数组 nums,处理以下类型的多个查询: 计算索引 left 和 right (包含 left 和 right)之间的 nums 元素的 和 ,其中 left <= right 实现 NumArray 类: NumArray(int[] nums) 使用数组 nums 初始化对象 int sumRange(int i, int j) 返回数组 nums 中索引 left 和 right 之间的元素的 总和 ,包含 left 和 right 两点(也就是 nums[left] + nums[left + 1] + ... + nums[right] ) 示例 1: 输入: ["NumArray", "sumRange", "sumRange", "sumRange"] [[[-2, 0, 3, -5, 2, -1]], [0, 2], [2, 5], [0, 5]] 输出:....

leetcode刷题记录:数组-414. 第三大的数

数组的遍历 485、495、414、628 414. 第三大的数 给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 示例 1: 输入:[3, 2, 1] 输出: 1 解释: 第三大的数是 1 。 示例 2: 输入:[1, 2] 输出: 2 解释: 第三大的数不存在, 所以返回最大的数 2 。 示例 3: 输入:[2, 2, 3, 1] 输出: 1 解释: 注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。 此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1 。 提示: 1 <= nums.length <= 104 -231 <= nums[i] <= 231 - 1 进阶: 你能设计一个时间复杂度 O(n) 的解决方案吗? 思路 方法一:堆排序 略 方法二:set容器排序+去重 class Solution { public: int thirdMax(vector<int>& nums) { set<int> s;//排序队列 for(in....

leetcode刷题记录:数组-495. 提莫攻击

数组的遍历 485、495、414、628 495. 提莫攻击 在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄。他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。 当提莫攻击艾希,艾希的中毒状态正好持续 duration 秒。 正式地讲,提莫在 t 发起攻击意味着艾希在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。如果提莫在中毒影响结束 前 再次攻击,中毒状态计时器将会 重置 ,在新的攻击之后,中毒影响将会在 duration 秒后结束。 给你一个 非递减 的整数数组 timeSeries ,其中 timeSeries[i] 表示提莫在 timeSeries[i] 秒时对艾希发起攻击,以及一个表示中毒持续时间的整数 duration 。 返回艾希处于中毒状态的 总 秒数。 示例 1: 输入: timeSeries = [1,4], duration = 2 输出: 4 解释: 提莫攻击对艾希的影响如下: 第 1 秒,提莫攻击艾希并使其立即中毒。中毒状态会维持 2 秒,即第 1 秒和第 2 秒。 第 4 ....

力扣刷题指南

共534题(含多解题,实际527题) 一. 数组 题目分类 题目编号 数组的遍历 485、495、414、628 统计数组中的元素 645、697、448、442、41、274 数组的改变、移动 453、665、283 二维数组及滚动数组 118、119、661、598、419 数组的旋转 189、396 特定顺序遍历二维数组 54、59、498 二维数组变换 566、48、73、289 前缀和数组 303、304、238 二. 字符串 题目分类 题目编号 字符 520 回文串的定义 125 公共前缀 14 单词 434、58 字符串的反转 344、541、557、151 字符的统计 387、389、383、242、49、451、423、657、551、696、467、535 数字与字符串间转换 299、412、506、539、553、537、592、640、38、443、8、13、12、273、165、481 子序列 392、524、521、522 高精度运算 66、67、415、43、306 字符串变换 482、6、68 字符串匹配 28、686、459、214 中心拓展法 ....

考研资源帖

考研资源帖 不定时更新,UU补充见评论,资源来源于网络。 2024新东方王江涛高分写作 https://pan.baidu.com/s/1oEls0a3M5ebiNSH5KRRj4g?pwd=C408

C++快速回顾重点——C语言基础(一)

C++快速回顾重点 本文是《算法笔记》胡凡、曾磊著 的精炼总结。用于博主本人的快速复习,具有极强主观性,请酌情学习。 一、C/C++语言基础 变量 int占4字节,**范围大概$10^9$**内。 long long占8字节,$10^9$外用long long。 float占4字节,1位符号位、8位指数位、23位尾数位,有效精度6~7位。 double占8字节,1位符号位、11位指数位、52位尾数位,有效精度15~16位。尽量用double。 char小写字母比大写字母ascll码大32。 char单个字符常量必须用单引号。 char[]字符串常量用双引号。 bool在整型转布尔时,非零为true,零为false 常量 宏定义末尾不加分号 #define 标识符 常量 推荐使用const定义常量 const 数据类型 变量名 = 常量 宏定义陷阱 #include<iostream> using namespace std; #define CAL(x) (x * 2 + 1) int main(){ int a = 1; printf("%d\n"....

记录精彩的程序人生

© 2025 天南之城的后花园

Powered by Bolo
Theme bolo-sakura by Mashiro
浏览 50970 文章 43 评论 11
蜀ICP备2023008301号

主题 | Theme