自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【CS231n】Spring 2020 Assignments - Assignment1 - Two Layer Net

文章目录前言1. Implementing a Neural Network1.1. TwoLayerNet.loss1.1.1. Scores1.1.2. Loss1.1.3. dW1.2. TwoLayerNet.train1.2.1 Create a random minibatch of training data and labels1.2.2. Update the parameters1.3. TwoLayerNet.predict2. Tune Your Hyperparameters总结

2020-12-01 14:45:38 389

原创 2024届毕业生的刷题记录之《LeetCode 热题 HOT 100》

开个博客来督促自己坚持每日一题~

2023-02-24 14:26:23 622 1

原创 Hadoop实验

在Linux上正确安装、配置Hadoop,并能够成功运行Hadoop,再根据指示在HDFS进行相应的操作

2022-10-30 14:35:09 3043

原创 【云存储】Go项目实践(Fedora、GlusterFS、ownCloud)

- 在 Vmware 中,用 Fedora-Server-dvd-x86_64-31-1.9.iso 安装 2 至 4 个 Fedora 虚拟机- 分别在每个节点上部署 Fedora- 在 Linux 系统上实现 Native 挂载;实验验证 GlusterFS 集群- 在其中一台服务器上搭建 ownCloud,创建自己的私人云盘系统

2022-10-30 14:27:32 932

原创 Spark与大数据处理技术实践

Spark与大数据处理技术实践

2022-10-30 10:38:36 938

原创 虚拟化技术课程实践

虚拟化技术课程实践

2022-10-30 10:21:57 1324 1

原创 牛客《剑指Offer》刷题笔记

剑指Offer题目中的共性问题数组中重复的数字二维数组中的查找替换空格从头到尾打印链表重建二叉树二叉树的下一个节点用两个栈实现队列斐波那契数列旋转数组的最小数字矩阵中的路径机器人的运动范围剪绳子题目中的共性问题注意考虑特殊情况,如题目输入的数据为空等。数组中重复的数字题目描述:在一个长度为nnn的数组里的所有数字都在000到n−1n-1n−1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为777的

2022-04-26 20:36:10 641

原创 【动态规划】插入乘号问题

问题描述:给出 NNN 个 111 - 999 的数字 (v1,v2,…,vN)(v1,v2,…,vN)(v1,v2,…,vN),不改变它们的相对位置,在中间加入 KKK 个乘号和 N−K−1N-K-1N−K−1 个加号,括号随便加,使最终结果最大。因为乘号和加号一共就是 N−1N-1N−1 个,所以恰好每两个相邻数字之间都有一个符号。例如: N=5N=5N=5, K=2K=2K=2,555 个数字分别为 111、222、333、444、555,可以进行如下运算:1∗2∗(3+4+5)=241*2*(

2022-01-05 02:29:33 1107

原创 【贪心法】基站布置问题

问题描述:海面上有一些船需要与陆地进行通信,需要在海岸线上布置一些基站。现将问题抽象为,在x轴上方,给出n条船的坐标 p1,p2,…,pnp_1, p_2, …, p_np1​,p2​,…,pn​,其中 pi=(xi,yi)p_i = (x_i, y_i)pi​=(xi​,yi​),0≤yi≤d0≤yi≤d0≤yi≤d 、 1≤i≤n1≤i≤n1≤i≤n,在 xxx 轴安放的基站可以覆盖半径为 ddd 的区域内的所有船只,问在 xxx 轴至少要安放几个基站才可以将 xxx 轴上方的船只都覆盖到。解决思

2022-01-03 03:33:44 2024 2

原创 【动态规划】树上着色问题

问题描述:对一棵树进行着色,每个结点可着黑色或白色,相邻结点不能着相同黑色,但可着相同白色。请设计一种算法对树中尽量多的节点着黑色。思路:对于一棵根节点为 rootrootroot 的子树(也有可能就是输入的树),只会发生两个情况:(1)rootrootroot 涂成白色,那么 rootrootroot 的子节点可以涂成白色也可以涂成黑色;(2)rootrootroot 涂成黑色,那么root的子节点只能涂成白色。基于这两种情况,我们可以维护一个动态规划表 dp[MAXN+1][2]dp[MAX_N

2021-12-31 10:27:53 1667 1

原创 【贪心法】黑白连线问题

问题描述:给定直线上 2n2n2n 个点的序列 P[1,2,…,2n]P[1,2,… ,2n]P[1,2,…,2n],每个点 P[i]P[i]P[i] 要么是白点(用数字 111 表示)要么是黑点(用数字 000 表示),其中共有 nnn 个白点和 nnn 个黑点,相邻两个点之间距离均为 111,请设计一个算法将每个白点与一黑点相连,使得连线的总长度最小。例如,图中有 444 个白点和 444 个黑点,以图中方式相连,连线总长度为 1+1+1+5=81+1+1+5=81+1+1+5=8。贪心法:

2021-12-31 02:43:16 1649

原创 C++实现使用贪心法解决机器作业问题

问题描述:有 nnn 个作业需要在一台机器上执行,一个时刻机器上只能执行一个作业,每个作业可在单位时间内完成,作业 iii 有截止时间 did_idi​ ,当作业 iii 在截止时间被执行完,则可获得 pip_ipi​ 的收益。求最大收益。思路:我们选择用贪心算法来求解。先将所有作业按照收益从大到小排序,然后按顺序便利所有作业,把 最靠近每个作业的截止时间的空闲时间 分配给该作业,若无空闲时间则跳过该作业。源代码://// main.cpp// MachineOperation///

2021-12-31 00:59:47 1524

原创 C++实现拓扑排序

问题描述:拓扑排序指的是:输入一张有向图,如果点 XXX 到点 YYY 存在一条或多条有向边,表示点 YYY 必须在点 XXX 之后输出到结果序列中。例如,在一张有3个节点的有向图中,存在着 3→13 \to 13→1 、 2→32 \to 32→3 和 2→12 \to 12→1 共3条有向边,则经过拓扑排序之后的序列应该为 2,3,12, 3, 12,3,1。思路:很明显只有入度为0的点是可以直接添加到结果集中的。因此,我们可以不断将入度为0的点从有向图中取出,并将其指向的点的入度减1,直到

2021-12-30 02:01:49 1962

原创 【贪心法】C++实现使用Kruskal算法构建最小生成树(包括查并集操作的实现)

Kruskal算法简介:(1)将所有边按权值从小到大排序;(2)选出权值最小的边,如果这条边的两个端点不属于同一个集合,就将这条边添加到最小生成树里面;(3)重复(2)直到选出了 节点数−1节点数-1节点数−1 条边;如果最后选出的边数小于 节点数−1节点数-1节点数−1 ,说明该无向图不能构建出最小生成树。查并集操作简介:这里我们假设集合是用树来表示的,也就是每个节点都有一个父节点(根节点的父节点是自身)。因此通过不断往上一个集合里面的点的父节点,最后都可以找到根节点,也就意味着每个集合是

2021-12-22 23:44:04 720

原创 C++实现Dijkstra算法

描述:网上已经有很多对于该算法的详尽描述了,本文不做赘述。本文的目的是提供给大家一个带有清晰注释的使用C++实现Dijkstra算法的代码。源代码://// main.cpp// DijkstraAlgorithm//// Created by 胡昱 on 2021/12/21.//#include <iostream>#include <cstring>#include <limits.h>using namespace std;/

2021-12-21 23:57:57 3201 1

原创 C++实现KMP算法

问题描述:给定文本串 sss 与模式串 ttt,使用KMP算法求 sss 中有多少个子串与 ttt 相同,两个子串视为不同仅当他们长度不等或起始位置不同。思路:KMP算法在网上有很多详细的讲解了,主要是利用匹配失败时的残留信息来减少匹配的次数,这边不做赘述。源代码://// main.cpp// KMP//// Created by 胡昱 on 2021/12/3.//#include <iostream>using namespace std;int mai

2021-12-21 11:55:31 646

原创 【动态规划】【C++】最低票价问题

问题描述:在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 daysdaysdays 的数组给出。每一项是一个从 111 到 365365365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0]costs[0]costs[0] 美元;一张为期七天的通行证售价为 costs[1]costs[1]costs[1] 美元;一张为期三十天的通行证售价为 costs[2]costs[2]costs[2] 美元。通行证允

2021-12-20 20:14:06 583

原创 C++实现二维数组的二分查找

问题描述:给定一个二维数组,其每行每列都已经按从小到大的顺序排列好了,要求设计一个高效的搜索算法。思路:有序、查找,这两个关键字一出现我们马上就会联想到二分查找,但是如何在二维数组(以下称之为矩阵)中进行二分查找呢?根据题目描述,我们不难推断出这个矩阵的对角线上的元素也是有序排列的。因此,我们可以先在矩阵的对角线上进行一维的二分查找,如果没有找到目标元素,就返回一个(最好是第一个)比目标元素大的元素。这时候这个元素就将原矩阵分为了4个部分,其中右下角这个部分一定不包括目标元素(因为肯定比目标元素

2021-12-03 00:29:33 795

原创 C++实现求解带权重的活动选择问题【动态规划】

问题描述: 有若干个活动,每个活动都有起始时间 sss 、结束时间 fff 以及权重 www ,求每个活动都不冲突且总权重最大的集合。思路: 在代码的注释里面已经写得很详细了,重点是理解 dpdpdp 的求解过程。源代码://// main.cpp// WeightedActivitySelection//// Created by 胡昱 on 2021/11/17.#include <iostream>using namespace std;// 记录活动的权重以

2021-11-18 11:49:51 1675

原创 C++实现求解最长公共子序列(LCS)问题【动态规划】

思路:既然是动态规划,还是要从小问题的解推导出大问题的解这个思路入手。令dp[i][j]dp[i][j]dp[i][j]为str1[0,...,i][0, ..., i][0,...,i]与str2[0,...,j]str2[0, ..., j]str2[0,...,j]的最长公共子序列,则:Whenstr1[i]=str2[j],dp[i][j]=dp[i−1][j−1]+1,Whenstr1[i]≠str2[j],dp[i][j]=max⁡(dp[i−1][j],dp[i][j−1]).When

2021-11-12 15:06:50 1062

原创 C++解决钢条切割问题【动态规划】

问题描述:给定一根长度为 lll 的钢条(l<=10000)(l<=10000)(l<=10000),以及一张价格表,请计算这根钢条能卖出的最大总收益。价格表表示为 (li,pi)(l_i, p_i)(li​,pi​),1<=i<=k1<=i<=k1<=i<=k。不在价格表中的钢条可卖出价格为000。思路:根据动态规划的思想,我们可以构建一个数组 dpdpdp,其中 dp[n]dp[n]dp[n] 代表了当总钢条长度为 nnn 时所能卖出的最大

2021-11-11 15:12:59 2097

原创 C++实现求解矩阵连乘时最少的乘法次数【动态规划】

思路:我们采用的是自底向上的解决方法。下图 m[i][j]m[i][j]m[i][j] (也就是代码中的dp[i][j]dp[i][j]dp[i][j])代表了矩阵 [i,...,j][i, ..., j][i,...,j] 相乘时最少的乘法次数。首先我们解决主对角线上的元素,因为自己不用与自己相乘,所以对角线上的元素(也就是 m[k][k]m[k][k]m[k][k] )都为 000 。接下来,我们按照从中间都右上角的顺序解决每一条次对角线上的子问题。注意,每一个子问题都应该基于其他子问题来解决(

2021-11-11 10:47:08 1626

原创 C++实现使用动态规划法解决0/1背包问题2(只有将背包装满才能带走)

问题描述:有一个容量为C(C<=100)的奇怪背包,这个背包可以被带走仅当它恰好被装满。现在你手边有N(N<=500)颗宝石,第i颗宝石大小为si,价值为vi。由于条件限制,你手边只有这个奇怪的背包可作为你搬运宝石的唯一工具。现在你想知道在这样的条件下你最多可以带走多大利润的宝石。输入示例:33 101 3 2 5 7 23 101 3 2 5 6 25 105 6 5 7 2 8 8 1 5 9输出示例:10016思路:有空再写源代码://// ma

2021-11-10 15:05:09 547

原创 C++实现用动态规划思想解决1/0背包问题

问题描述:有一个容量为C(C<=100)的背包。现在你手边有N(N<=500)颗宝石,第i颗宝石大小为si,价值为vi。由于条件限制,你手边只有这个背包可作为你搬运宝石的唯一工具。现在你想知道在这样的条件下你最多可以带走多大利润的宝石。输入示例:33 101 3 2 5 7 23 101 3 2 5 6 25 105 6 5 7 2 8 8 1 5 9输出示例:101017思路:有空再写源代码://// main.cpp// PackageProb

2021-11-10 01:18:02 384

原创 C语言实现分治法求解数组中是否存在两个数之和等于给定目标数的问题

思路:其实这种解法与遍历每两个数之和有点类似,只不过加了许多小技巧。首先我们需要对数组排序,然后对数组进行遍历,每次遍历时,在第iii个数后面的数[i+1,...,n−1][i + 1, ..., n - 1][i+1,...,n−1]中进行对x−array[i]x-array[i]x−array[i]的二分查找。总的时间复杂度为O(nlogn+n∗n12)O(n{log}n + n * n^{\frac{1}{2}})O(nlogn+n∗n21​)。源代码://// main.c// S

2021-11-06 00:55:03 533

原创 C++实现使用动态规划法寻找最大子数组和

思路:对于这种问题,很自然地我们会想到使用动态规划的方法解决。假设 dp[i] 是数组 array[0, …, i] 的最大子数组和,则很明显等于数组array[0, …, i + 1]的最大子数组和等于max(dp[i] + array[i], array[i])源代码://// main.cpp// MaxSumOfSubArr//// Created by 胡昱 on 2021/11/3.//#include <iostream>using namespace

2021-11-03 01:17:56 351

原创 C++实现使用Graham Scan算法寻找凸包

题目要求:以最下最左点开始逆时针输出凸包。若有多个点在同一坐标,只输出一个。若凸包上有多个点在同一线上,只输出两端点。算法思路:跟着我的代码的注释一步一步画图应该挺容易理解的,主要还是运用了未知点与当前可能是凸包上的点的集合中的最后两个进行线位置比较这个方法来判断。源代码://// main.cpp// ConvecHull//// Created by 胡昱 on 2021/11/1.//#include <iostream>#include <alg

2021-11-03 00:13:47 494

原创 C++实现使用分治法的思想解决寻找逆序对数量的问题

题目:给定一个长度为N的int型数组a[0, 1, 2, …, N-1],当i < j且a[i] > a[j],则称a[i]与a[j]是一对逆序对。求该数组的逆序对数量。思路:(有空再写)代码://// main.cpp// InversePairNumber//// Created by 胡昱 on 2021/11/1.//#include <iostream>using namespace std;// 借用归并排序算法实现分治法求数组的逆序对

2021-11-01 16:01:42 1342

原创 C++实现使用分治法寻找最近点对

示例输入:23 1 1 2 1 3 510 851644 996635 20388 842736 262145 615142 890041 434439 787213 89181 99282 310353 179500 803495 728862 687090 225650 604015 765534 465397示例输出:1.0038153.57思路及代码://// main.cpp// NearestNodes//// Created by 胡昱 on 2021/10/24

2021-10-25 01:18:36 1264 2

原创 C++实现二分查找

问题描述:给定一递增有序数组a[0,1,…,n-1],请在数组中搜索给定元素。 搜索过程中请使用mid=(low+high)/2。搜索成功输出success及父亲,,否则输出not found及父亲。输入示例:27 10 1 3 5 7 9 11 137 10 2 4 6 8 10 12 14输出示例:not found, father is 9success, father is 12// Created by 胡昱 on 2018/10/8.// Copyright © 2018

2021-10-24 01:01:59 3966

原创 C++实现用动态规划的思想解决拦截导弹问题

问题描述:某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入:第一行输入M表示包含M组测试数据,每组第一个输入N (N<100)表示后面有N个整数,表示导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数)。输出:对于每组输入数据,第一行输出这套系统最多能拦截多

2021-10-24 00:31:34 862

原创 C++实现在N个数字中插入K个乘号使得乘积最大

该题是使用动态规划的思想实现的,因代码注释已经写得比较详细了,故不再赘述//// main.cpp// MaxProduct//#include <iostream>#include <cmath>using namespace std;// 将数组从第begin个数到第end个数组成一个数字int generateNum(int* a, int begin, int end) { int digitNum = end - begin +

2021-10-21 21:00:11 1189

原创 C++实现归并排序

C++实现归并排序//// main.cpp// MergeSort//// Created by 胡昱 on 2021/10/18.//#include <iostream>using namespace std;int* mergeSort(int* a, int n) { if (n == 1) { return a; } // 划分子问题 int leftMid = (0 + n - 1)

2021-10-18 16:23:29 225

原创 C++实现冒泡排序

C++实现冒泡排序#include <iostream>using namespace std;int main() { // 一共要解决n个问题 int m; cin >> m; // 解决问题 while ((--m) >= 0) { // 输入数组长度 int n; cin >> n; // 输

2021-10-18 15:15:19 146

原创 自定义模块出现 ModuleNotFoundError: No module named XXX 的解决方法

最近在调试一个很古老的项目的时候出现了如下问题:ModuleNotFoundError: No module named 'cluster'这个报错居然还是出现在__init__.py里面的,就很离谱。百度了一下,问题应该是出在了引用不同目录的包上,而我的项目的结构如下:讲道理是不应该出现这种问题的,但还是尝试了很多种方法,比如把根目录改成 Sources Root ,并没有解决。后来自己研究了一下,发现 给导入的模块加上绝对路径 问题就消失了,只不过这样做稍微烦琐了一点。更改过后的代码如下:

2021-05-08 01:01:14 7402 1

原创 【诏安扑克牌玩法 —— 宝】庄家(宝官)一定会赢吗?

统计庄家(宝官)赢得概率宝的玩法介绍关于洗牌实验步骤实验结果原始数据源代码(Python)要想不输,惟有不赌!宝的玩法介绍这是一种简单、不需要技术仅靠运气的扑克牌玩法。开始前先在牌组中取出大小王,使用剩余的 52 张牌。庄家(闽南语为宝官)从自己开始,依次(通常为逆时针)给每个玩家发 1 张牌直至每个人手里有 2 张牌。然后每一个闲家分别与庄家比较手牌、计算输赢的筹码。比较方法如下:如果两张牌一样,则称为宝牌。宝牌比非宝牌大。其中宝A最大,并且赢得的筹码为底注的 10 倍。接下来依次为宝K、宝Q、宝

2021-02-20 21:11:25 5136 2

原创 SpringBoot框架中利用定时任务实现自动备份数据库

主要思路是创建一个定时任务执行自动备份的语句。为了我们随时能够修改定时任务的执行周期,通常我们在数据库建一张存储 cron 语句的表,每次执行完定时任务后到这张表里面查询新的 cron 语句。完整代码如下:package com.qiao;import com.qiao.dao.CronRepository;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.contex

2021-01-10 13:33:40 900

原创 如何Mock级联调用的方法(以Redis为例)

我们都知道可以用如下方法Mock一个方法的调用并返回我们需要的值。when(function(any())).thenReturn(null)但是如果遇到如下的级联调用的方法怎么办呢?suffix = redis.opsForValue().increment(prefix, 1L);这时候我们可以先Mock出一个 redis.opsForValue() 返回的对象,如下:@MockValueOperations<String, String> valueOperations;

2021-01-10 11:49:54 3338 1

原创 【CS231n】Spring 2020 Assignments - Assignment1 - Features

Content前言Train SVM on featuresNeural Network on image features前言我的作业是在 Google Colaboratory 上完成的,还是挺方便的。本次作业的主要内容为:使用 方向梯度直方图HOG( Histogram of Oriented Gradients) 和 使用色相通道的颜色直方图 来构成图像的特征,将这些特征作为输入而不是原始的图像。我遇到的主要问题还是参数范围如何确定。因为本次作业没有给出参数值的提示,所以一开始我是在原来的

2020-12-01 17:09:08 379

原创 【CS231n】Spring 2020 Assignments - Assignment1 - Softmax

文章目录前言一、Implement softmax_loss_naive(W, X, y, reg)二、Implement softmax_loss_vectorized(W, X, y, reg)三、Write code that chooses the best hyperparameters总结前言我的作业是在 Google Colaboratory 上完成的,还是挺方便的。一、Implement softmax_loss_naive(W, X, y, reg)逻辑回归分类器(Softma

2020-11-19 00:45:03 248

【SEU&SE】传感器技术半开卷参考资料

本份参考资料由东南大学软件学院17级本科生胡*所整理,内容包含了跨专业选修课传感器技术的大部分内容,且已经压缩到一张A4纸(正反面)的大小,可直接打印!

2020-06-26

使用MSP430F249实现电子钟

该实验报告详细阐述了如何使用Proteus以及IAR实现基于MSP430F249的模拟电子时钟,包括硬件部分以及软件部分。该模拟电子时钟具有运行模式和设置模式,运行模式下为正常的时钟,而设置模式下可以对时、分、秒每位进行操作,并且相关设置位会持续闪烁。

2020-06-21

空空如也

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

TA关注的人

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