04 2023 档案

摘要:一、题目 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 二、思路 为了求出岛屿的数量,我们可以扫描整个二维网格。如果一个位置为 11 阅读全文
posted @ 2023-04-30 19:54 ImreW 阅读(11) 评论(0) 推荐(0) 编辑
摘要:(一)什么是CRF? CRF,全称 Conditional Random Fields,中文名:条件随机场。是给定一组输入序列的条件下,另一组输出序列的条件概率分布模型。 (二)什么时候可以用CRF? 当输出序列的每一个位置的状态,需要考虑到相邻位置的状态的时候。举两个例子: 1、假设有一堆小明日常 阅读全文
posted @ 2023-04-30 10:02 ImreW 阅读(159) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 二、思路 所有在一个连续区间的元素都会在一个连通分量中,且该连通分量的根节点为该连续区间中的最大值 遍历数组,如果nums[i]+ 阅读全文
posted @ 2023-04-29 19:33 ImreW 阅读(24) 评论(0) 推荐(0) 编辑
摘要:对于 精准率(precision )、召回率(recall)、f1-score,他们的计算方法很多地方都有介绍,这里主要讲一下micro avg、macro avg 和weighted avg 他们的计算方式。 1、微平均 micro avg: 不区分样本类别,计算整体的 精准、召回和F1 精准 m 阅读全文
posted @ 2023-04-29 11:05 ImreW 阅读(951) 评论(0) 推荐(0) 编辑
摘要:隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。隐马尔可夫模型(HMM)可以用五个元素来描述,包括2个状态集合和3个概率矩阵:1. 隐含状态 S、2. 可观测状态 O、3. 初始状 阅读全文
posted @ 2023-04-29 10:43 ImreW 阅读(35) 评论(0) 推荐(0) 编辑
摘要:符合主递归式条件的情况 首先对于可以用主方法求解的形式,这里不再说明,符合主方法的三种情况只要套用公式即可得到正确答案。 不符合主递归式条件 除以 有类似 形式的递归式存在,其解为 ,有些解答认为是 实际上并不准确。 同样这种形式也不符合主方法的条件,同样使用递归树法进行近似的求解,然后再使用代入法 阅读全文
posted @ 2023-04-26 20:42 ImreW 阅读(229) 评论(0) 推荐(0) 编辑
摘要:(一)什么是 Java 框架? 1.概念 Java框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。框架又叫做开发中的半成品,它不能提供整个WEB应用程序的所有东西,但是有了框架,我们就可以集中精力进行业务逻辑的开发而不用去关心它的技术实现以及一些辅助的业务逻辑。说白了Java 阅读全文
posted @ 2023-04-26 12:48 ImreW 阅读(39) 评论(0) 推荐(0) 编辑
摘要:背包问题技巧: 1.如果是0-1背包,即数组中的元素不可重复使用,nums放在外循环,target在内循环,且内循环倒序; for num in nums: for i in range(target, nums-1, -1): 2.如果是完全背包,即数组中的元素可重复使用,nums放在外循环,ta 阅读全文
posted @ 2023-04-26 12:32 ImreW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" 。 阅读全文
posted @ 2023-04-25 13:35 ImreW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 二、思路 假定nums[]数组下标从1开始,如何确定f[i][j]的值? 我们一般去考虑最后一步,那么对于当前的数字 nums[i],可以选取也可以不选取: 1、不选  阅读全文
posted @ 2023-04-24 11:12 ImreW 阅读(16) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 二、思路 三、代码 class Solution { public: int trap(vector<int>& height) { int ans = 0; int left = 0, r 阅读全文
posted @ 2023-04-23 17:05 ImreW 阅读(11) 评论(0) 推荐(0) 编辑
摘要:(一)概念 RAII全称是Resource Acquisition Is Initialization,翻译过来是资源获取即初始化,RAII机制用于管理资源的申请和释放。对于资源,我们通常经历三个过程,申请,使用,释放,这里的资源不仅仅是内存,也可以是文件、socket、锁等等。 RAII,它是“R 阅读全文
posted @ 2023-04-23 11:38 ImreW 阅读(40) 评论(0) 推荐(0) 编辑
摘要:(一)进程 1.概念 进程-操作系统提供的抽象概念,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。程序本身是没有生命周期的,它只是存在磁盘上的一些指令,程序一旦运行就是进程。 首先还是说下「程序」的概念,程序是一些保存在磁盘上的指令的 阅读全文
posted @ 2023-04-21 21:21 ImreW 阅读(34) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格,和一个整型 k 。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。 二、思路 三、代码 class Solutio 阅读全文
posted @ 2023-04-20 12:33 ImreW 阅读(10) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 二、思路 三、代码 class Solution { public: int m 阅读全文
posted @ 2023-04-18 09:07 ImreW 阅读(13) 评论(0) 推荐(0) 编辑
摘要:众所周知,MySQL的索引使用了B+树的数据结构。那么为什么不用B树呢? 先看一下B树和B+树的区别。 1.B树 维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结 阅读全文
posted @ 2023-04-17 18:41 ImreW 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、HTTP协议与TCP协议的关系 TCP协议是传输层协议,主要解决数据如何在网络中传输 HTTP是应用层协议,主要解决如何包装数据。 1.从本质上,二者没可比性 我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则 阅读全文
posted @ 2023-04-17 18:05 ImreW 阅读(70) 评论(0) 推荐(0) 编辑
摘要:一、过程 1.DNS解析 浏览器进行DNS域名解析,得到对应的IP地址 2.TCP三次握手 根据这个IP,找到对应的服务器建立连接(三次握手) 3.发起HTTP请求 建立TCP连接后发起HTTP请求(一个完整的http请求报文) 4.服务器响应HTTP请求 服务器响应HTTP请求,浏览器得到html 阅读全文
posted @ 2023-04-17 16:52 ImreW 阅读(1433) 评论(0) 推荐(0) 编辑
摘要:在开发接口服务器的过程中,为了防止客户端对于接口的滥用,保护服务器的资源, 通常来说我们会对于服务器上的各种接口进行调用次数的限制。比如对于某个 用户,他在一个时间段(interval)内,比如 1 分钟,调用服务器接口的次数不能够 大于一个上限(limit),比如说 100 次。如果用户调用接口的 阅读全文
posted @ 2023-04-17 16:39 ImreW 阅读(844) 评论(0) 推荐(0) 编辑
摘要:(一)cookie和session原理及区别 cookie采用的是客户端的会话状态的一种储存机制。它是服务器在本地机器上存储的小段文本或者是内存中的一段数据,并随每一个请求发送至同一个服务器。 session是一种服务器端的信息管理机制,它把这些文件信息以文件的形式存放在服务器的硬盘空间上(这是默认 阅读全文
posted @ 2023-04-17 16:21 ImreW 阅读(14) 评论(0) 推荐(0) 编辑
摘要:原文链接:自定义排序之数据库设计 之前做过的项目有项需求,就是要对一个普通的列表进行自定义排序功能,当初构思了几个方案,各有所长,按需使用,下面就一一来介绍这几个方案。 注:这里的自定义排序就是操作列表的某项进行位置交换。 1. 单表单列结构(数组结构) 此设计是使用一个表中的一列来表示数据的序号, 阅读全文
posted @ 2023-04-17 16:10 ImreW 阅读(54) 评论(0) 推荐(0) 编辑
摘要:我们首先从一个问题来阐明类的底层机理: 假如有一个类A,里面有一个成员函数get(),例如: class A { public: void get(); } A a; 那么a.get()表示什么呢?首先给出答案是get(&a),因为在类的底层机制中,成员函数的第一个参数都是一个指向该类数据结构的指针 阅读全文
posted @ 2023-04-17 15:50 ImreW 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一、题目 你打算利用空闲时间来做兼职工作赚些零花钱。 这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 profit[i]。 给你一份兼职工作表,包含开始时间 startTime,结束时间 endTime 和预计报酬 profit 三个数组 阅读全文
posted @ 2023-04-17 15:37 ImreW 阅读(20) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号整数。 二、思路 三、代码 class 阅读全文
posted @ 2023-04-17 14:10 ImreW 阅读(14) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 二、思路 三、代码 class Solution: d 阅读全文
posted @ 2023-04-16 13:30 ImreW 阅读(9) 评论(0) 推荐(0) 编辑
摘要:原文链接:Moves, copies and clones in Rust Introduction Moves and copies are fundamental concepts in Rust. These might be completely new to programmers com 阅读全文
posted @ 2023-04-14 22:12 ImreW 阅读(14) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个下标从 0 开始的二维整数数组 events ,其中 events[i] = [startTimei, endTimei, valuei] 。第 i 个活动开始于 startTimei ,结束于 endTimei ,如果你参加这个活动,那么你可以得到价值 valuei 。你 最多  阅读全文
posted @ 2023-04-13 23:17 ImreW 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。 二、思路 三、代码 cl 阅读全文
posted @ 2023-04-11 11:55 ImreW 阅读(10) 评论(0) 推荐(0) 编辑
摘要:借用gcc内置函数__builtin_choose_expr和__builtin_types_compatible_p可以帮助c来实现函数重载。 首先对这两个函数功能做下介绍 __builtin_choose_expr(expr,expr1,expr2)与c语言:?运算符有些类似,如果expr表达式 阅读全文
posted @ 2023-04-10 19:50 ImreW 阅读(291) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 二、思路 /** 打印效果,一目了然 b压入栈中,成功啦 c压入栈中,成功啦 当前元素【a】比栈顶元素【c】小,而且栈顶元素再后面还存在,需要移除了栈 阅读全文
posted @ 2023-04-10 18:34 ImreW 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、题目 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶 阅读全文
posted @ 2023-04-08 21:44 ImreW 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一、锁机制 常用的锁机制有两种:悲观锁、乐观锁 (一)悲观锁 假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。 悲观锁的实现,往往依靠底层提供的锁机制。 悲观锁会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。 (二)乐观锁 假设不会发生并发冲突,每次不加锁而是假设没有冲突而去完成某项操 阅读全文
posted @ 2023-04-07 21:56 ImreW 阅读(620) 评论(0) 推荐(0) 编辑
摘要:(一)I/O到底是什么? I/O 其实就是 input 和 output 的缩写,即输入/输出。 那输入输出啥呢? 比如我们用键盘来敲代码其实就是输入,那显示器显示图案就是输出,这其实就是 I/O。 而我们时常关心的磁盘 I/O 指的是硬盘和内存之间的输入输出。 读取本地文件的时候,要将磁盘的数据拷 阅读全文
posted @ 2023-04-07 20:44 ImreW 阅读(26) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 二、思路 三、代码 class Solution: def longestPalindromeSubseq(self, s: st 阅读全文
posted @ 2023-04-07 12:58 ImreW 阅读(12) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 二、思路 dp[i]: 所有长度为i+1的递增子序列中, 最小 阅读全文
posted @ 2023-04-05 21:43 ImreW 阅读(14) 评论(0) 推荐(0) 编辑
摘要:(一)typedef/define的基本概念 1.typedef typedef int BOOL; #define TRUE 1 #define FALSE 0 定义好之后,就可以像使用基本类型数据一样使用它了,如下面的代码所示: BOOL bflag=TRUE; 2.与define的区别 typ 阅读全文
posted @ 2023-04-05 20:03 ImreW 阅读(13) 评论(0) 推荐(0) 编辑
摘要:(一)背景 实现多线程环境下的计数器操作,统计相关事件的次数. 当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的: 1 从缓存取到寄存器 2 在寄存器加1 3 存入缓存。 由于时序的因素,多个线程操作同一个全局变量,会出现问题。这也是并发编程的难点。在目前多核条件下,这 阅读全文
posted @ 2023-04-05 19:32 ImreW 阅读(319) 评论(0) 推荐(0) 编辑
摘要:(一)malloc() 说明: C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。 原型: void *malloc( size_t size)//内存块的大小,以字节为单位。//该函数返回一个指针 ,指向已分配大小的内存。如果请求失败,则返 阅读全文
posted @ 2023-04-05 19:19 ImreW 阅读(8) 评论(0) 推荐(0) 编辑
摘要:编译器属性__attribute__用于向编译器描述特殊的标识、检查或优化. (一)基本用法 __attribute__((cleanup(...))),用于修饰一个变量,在它的作用域结束时可以自动执行一个指定的方法,如: // 指定一个cleanup方法,注意入参是所修饰变量的地址,类型要一样 / 阅读全文
posted @ 2023-04-05 19:11 ImreW 阅读(232) 评论(0) 推荐(0) 编辑
摘要:(一)多重含义 C++中的 * 和 & 有多重含义,在不同的使用条件下有不同的意思: 1.* int *p = &a; /1.指针 a = a * b; /2.乘法 *p = 100; /3.指向 2.& int c = a&b; /1.位运算 转换为二进制 int *p = &a; /2.取地址 阅读全文
posted @ 2023-04-03 22:04 ImreW 阅读(25) 评论(0) 推荐(0) 编辑
摘要:(一)例子1 def test_two_parenthesis(): def add(a,b): print(a+b) return add def main(): a = 1 b = 2 test_two_parenthesis()(a, b) if __name__ == '__main__': 阅读全文
posted @ 2023-04-03 21:48 ImreW 阅读(299) 评论(0) 推荐(0) 编辑
摘要:VGG16模型,权重由ImageNet训练而来 该模型可同时构建于 channels_first (通道,高度,宽度) 和 channels_last (高度,宽度,通道)两种输入维度顺序。模型的默认输入尺寸是224x224 (一)模型参数 keras.applications.vgg16.VGG1 阅读全文
posted @ 2023-04-03 20:38 ImreW 阅读(221) 评论(0) 推荐(0) 编辑
摘要:(一)HashMap 这个问题我觉得可以从 HashMap 的一些关键点入手,例如 hash 函数、如何处理冲突、如何扩容。 HashMap 无非就是一个存储 <key,value> 格式的集合,使得通过 key 在 O(1) 的时间复杂下就能查找到 value。 基本原理就是将 key 经过 ha 阅读全文
posted @ 2023-04-03 15:41 ImreW 阅读(57) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + j < n 返 阅读全文
posted @ 2023-04-03 15:03 ImreW 阅读(12) 评论(0) 推荐(0) 编辑
摘要:(一)数据库备份 主备、主从、主主有什么区别? 1.主备就是:主机和备机。 备机是不干活的,也就是不对外提供服务,只是默默地在同步主机的数据,然后等着某一天主机挂了之后,它取而代之! 至于切换的话主要有两种方式: 人工切换,得知主机挂了之后手动把备机切成主机,缺点就是慢。 利用 keepalived 阅读全文
posted @ 2023-04-02 20:44 ImreW 阅读(355) 评论(0) 推荐(0) 编辑
摘要:一、题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 二、代码 class Solution { public: vector<string> generateParenthesis(int n) { dfs("", n, n); return r 阅读全文
posted @ 2023-04-02 20:19 ImreW 阅读(5) 评论(0) 推荐(0) 编辑
摘要:(一)to_categorical 说明: 简单来说,to_categorical就是将类别向量转换为二进制(只有0和1)的矩阵类型表示。其表现为将原有的类别向量转换为独热编码的形式。 例子: from keras.utils.np_utils import * #类别向量定义 b = [0,1,2 阅读全文
posted @ 2023-04-01 15:56 ImreW 阅读(41) 评论(0) 推荐(0) 编辑
摘要:(一)makefile 规则 一般开头都是 Tab ,不能空格, include 前面不能是 Tab; 1、如果没编译过,将所有的 (.c) 文件编译并且链接; 2、如果有其中的 (.c) 文件改变,编译并链接改变的文件; 3、如果(.h)文件被修改,编译引用相应的 (.c) 文件, 链接; 4、在 阅读全文
posted @ 2023-04-01 13:23 ImreW 阅读(297) 评论(0) 推荐(0) 编辑
摘要:一、概念 解释器模式(Interpreter Pattern) 用于构造一个简单的语言解释器,将字符串按照自定义的方式解释执行 ,是一种不常用的设计模式 除非从事底层开发自己需要去定义较为复杂的表达式,否则基本上不同这个设计模式 二、适用场景 (1)当一个语言需要解释执行,并可以将该语言中的句子表示 阅读全文
posted @ 2023-04-01 12:13 ImreW 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润, 阅读全文
posted @ 2023-04-01 11:23 ImreW 阅读(36) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示