- 博客(94)
- 资源 (1)
- 收藏
- 关注
原创 最新光速配置VScode运行C/C++教程(W11适用)
利用vscode提供的插件功能避开繁琐的文件配置,直接一步到位,帮助您30mins内在vscode成功运行C/C+=代码
2023-01-17 23:37:38
1164
原创 DevC++ Socket编程
服务器端://#include "stdafx.h"#include <Winsock2.h>#include <stdio.h>#include <stdlib.h>#define DEFAULT_PORT 5050 //服务端默认端口#pragma comment(lib,”ws2_32.lib”)int main(int argc, char* argv[]) //必须是main而不是t_main { int iPort = DEFAULT_P
2022-05-25 09:44:14
1467
5
原创 C++位图旋转(像素高宽相等简洁版)(顺时针90度)
#define _CRT_SECURE_NO_WARNINGS#pragma pack(1)#include<stdio.h>#include<stdlib.h>#include<string.h>typedef short WORD;typedef unsigned int DWORD;typedef unsigned char BYTE;//位图文件头,说明文件类型和位图数据的起始位置typedef struct { WORD bf
2022-05-18 11:29:52
469
1
原创 C++位图旋转(顺时针九十度)
#include <Windows.h>#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp = fopen("D://CCode//code//位图旋转.bmp", "rb"); //rb以二进制格式打开文件 if (fp == NULL){ printf("文件打开失败\n"); } // unsigned char buffer[20]={0}; //
2022-05-11 09:46:34
989
原创 pyinstaller打包踩坑记录
1.pyinstall在pycharm打包有第三方库的python程序的时候,可能会存在很多问题1.最常见的就是打包出来了 运行的时候 no module name XX错误解决:帖子主要参考上面这篇帖子,你需要手动去将你的第三方库文件夹去加到python项目的依赖下面,来保证打包的依赖可读性,并且需要在spec文件中声明指向它pyinstaller -F main.spec还有些说什么python主程序目录结构的问题 我没搞清楚 所以就不讲了大家如果有这样复杂的python项目 自行网上查阅
2022-05-05 00:00:22
874
1
原创 Kmeans(C/C++实现,以足球队聚类为例)
#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>/*k-means算法描述(聚类-无监督学习):k-means算法的具体步骤:1)给定大小为n的数据集,令I=1,选取k个初始聚类中心 Zj(I),j=1,2,3,…,k;2)计算每个数据对象与聚类中心的距离D(xi,Zj(I)), i=1,2,
2022-04-15 20:40:46
1672
4
原创 迪杰斯特拉算法(C语言实现)
#include<stdio.h>#include<string.h>#include<math.h>//给定有向加权图G(V, E),给定源点/起始点s,求从s出发到V中其它所有顶点的权重最小的路径。(迪杰斯特拉算法描述)/*算法思路:1.逐步地发展最短路径树,直至它覆盖所有顶点。2.构造一个循环,每次循环都增加一个顶点到最短路径树上。3.从所有与树邻接的顶点中,选择离源点最近的。4.对每个顶点,都用一个距离标记(Label)来记录。5.每次循环都
2022-04-15 20:39:22
6012
1
原创 NC33 合并两个排序的链表
文章目录1.方法1(非递归)2.方法2 (递归)1.方法1(非递归)/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { ListNode *vhead = new .
2022-03-03 23:09:30
298
原创 NC55 最长公共前缀
1.横向遍历class Solution {public: /** * * @param strs string字符串vector * @return string字符串 */ static string getprefix(string s1, string s2) { int length = min(s1.size(), s2.size()); int index = 0; while (i.
2022-01-29 17:09:27
784
原创 NC61 两数之和
1.暴力解法时间复杂度O(N),空间复杂度O(N2N^2N2)class Solution {public: /** * * @param numbers int整型vector * @param target int整型 * @return int整型vector */ vector<int> twoSum(vector<int>& numbers, int target) { .
2022-01-28 20:25:13
470
原创 nowcoder-求平方根
求平方根-且要向下取整。这种题目实际上考的是要我们使用二分法去无限逼近那个整数。值得注意的是找到的条件判断-因为是向下取整所以:mid<x/mid && (mid+1)>x/(mid+1)mid<x/mid \ \&\& \ (mid+1)>x/(mid+1)mid<x/mid && (mid+1)>x/(mid+1)class Solution {public:.
2022-01-20 21:55:03
341
原创 nowcoder-数组中只出现一次的数(其它数出现k次)
这道题肯定是利用位运算,但是不能使用异或。class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr intvector * @param k int * @return int */ // 每个二进制位求和,如果某个二进制位不能被k整除,那么只出现一次的那个数字在这个二进制位上为1。 int fo.
2022-01-17 22:17:11
305
原创 nowcoder-链表中环的入口结点
1.哈希表解法首先这题要我们找链表的环入口结点,最常规易懂的解法就是遍历整个链表结点,然后用哈希表来存储已访问过的结点,最后进行对比。 若该结点已存在哈希表中,则代表该结点是我们要找的环形链表的入口结点(找到第一个已经存在过的结点就是入口结点-可以验证);否则把结点添加到哈希表中,继续往下遍历。时间复杂度O(n)O(n)O(n) 空间复杂度O(n)O(n)O(n)/*struct ListNode { int val; struct ListNode *next; List.
2022-01-16 22:54:20
300
原创 nowcoder-买卖股票的最好时机(一)
最简单的套路依旧是暴力枚举数组中所有的两个数差值;class Solution {public: /** * * @param prices int整型vector * @return int整型 */ int maxProfit(vector<int>& prices) { // write code here //要想获得最大收益-必须在买入后找到后面一个最大的数 //买.
2022-01-15 21:24:17
238
原创 newcoder-连续子数组的最大和
这个题目实话我第一次没有想出来,只能玩尬的过一点用例,因为我还没系统地学习动态规划以及贪心算法。这里的题解主要参考官方的题解-逐级优化:1.第一级:暴力做法-时间复杂度O(n3n^3n3),空间复杂度O(1)枚举左右端点然后计算总和,并实时更新最大的和。class Solution{public: int FindGreatestSumOfSubArray(vector<int> array) { int ans = INT_MIN; int len.
2022-01-15 00:42:03
226
原创 nowcoder-合并两个有序的数组
这道题很容易就想到归并排序;但事实上这里并不需要开辟额外的空间,因为A已经给出了m+n长度的空间,所以直接从A的右往左移即可。class Solution {public: void merge(int A[], int m, int B[], int n) { //看题目感觉是让写插入排序-如何利用两个都是有序-从小到大的条件 int i,j,k; //从后面开始往前就可以避免大量移动 i=m-1;j=n-1;k=m+n-1; w.
2022-01-13 19:57:28
136
原创 newcoder-跳台阶
无论是多少级台阶,利用逆向思维,要想到达N阶台阶,前一步一定是跨两步或者跨一步,这时候递归方程就写出来了- jumpFloor(number-1)+jumpFloor(number-2);再加入一个结束条件即可: if(number==1){ return 1; } if(number==2){ return 2; }最后的全部源码:class Solution {public: int .
2022-01-13 16:44:10
167
原创 newcoder-用两个栈实现队列
这里的编程实现使用的是类C代码-即仅使用C++的STL库这道题的主要思路就是想象如何将两个栈拼接成一个队列(即如何将两个FILO变为FIFO)其实核心就是一个栈用于存储,另外一个栈用于将其转换成队列然后再逐个弹出即可。有一个坑是你必须保证每一次pop必须先确保stack2中所有的元素已经弹出后再执行stack2读取stack1数据的操作,因为只能保证每一次连续的push操作后stack2中元素的队列优先性。class Solution{public: void push(int no.
2022-01-12 12:52:42
85
原创 newcoder-判断链表是否有环
Solution1.有环则说明不存在尾节点,不存在尾节点的下一个结点为NULL,一个简单的想法是遍历链表并不断存储已经遍历过的链表-最后每次遍历的时候都去check当前结点的下一个结点是不是已经遍历过的结点,java可以用hash表直接用contains函数,这里我使用的比较笨的办法,时间复杂度O(n2n^2n2),空间复杂度O(n).-容易翻车。/** * Definition for singly-linked list. * struct ListNode { * int val;.
2022-01-11 15:17:40
272
原创 newcoder-反转链表
Solution:这个题首先不要一上来就想着使用栈或者递归,而是应该想着如何利用最基本的指针来解决这个问题。此题解题思路为:使用三个指针pre cur nex来实现对于每一个结点的next修改方向,最后遍历即可,时间复杂度为O(n) 。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: .
2022-01-10 18:11:26
911
原创 从零开始实现一个端到端的机器学习项目[6]
基于书籍《Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow》的笔记文章目录3 选择和训练模型3.1 训练和评估训练集3.2 使用交叉验证来更好地进行评估3.3 微调(fine-tune) 模型3.3.1 网格搜索(grid search)3.3.2 随机搜索3.3.3 集成方法(模型集成-融合)3.3.4 分析最佳模型及其误差3.3.5 通过测试集评估系统是否能够上线3.3.6 上线、监控与维护机器学习系统总结:
2021-12-13 22:57:06
1546
原创 从零开始实现一个端到端的机器学习项目[1]
本次将连载博客-从零实现一个端到端的机器学习项目,其基于书籍《机器学习实战》并加入自己的理解,帮助您快速上手机器学习并用于实践。
2021-12-11 16:54:01
873
原创 Machine Learning Project Checklist
文章目录Machine Learning Project ChecklistFrame the Problem and Look at the Big PictureGet the DataExplore the DataPrepare the DataShortlist Promising ModelsFine-Tune the SystemPresent Your SolutionLaunch!Machine Learning Project ChecklistThis checklist can
2021-12-11 16:19:30
445
原创 关于张量的维度参数(dim)
0表示张量的最高维度 1表示张量的次高维度 2表示张量的次次高维度-1表示张量维度的最低维度 -2表示张量的倒数第二维度,-3表示倒数第三维度注意最高不是最大
2021-10-18 22:18:47
1180
2
原创 市面主流翻译功能提供商:谷歌-阿里-有道-百度-腾讯翻译的一个小测试,结果出乎意料。
Bert作为新兴的预训练模型在很多下游自然语言处理任务中获得了很好的效果。神经机器翻译也因为Transformer架构的出现性能得到了大幅度提升。Bert做到了一个很重要的一点就是context-sensitive,也就是上下文敏感。而今天,我们就使用一下一个典型的上下文敏感的例子来测试一下各大翻译软件的性能。帮助从一个不同的角度看哪个翻译软件最好这个热门话题。我选取的例子是 a crane is flying-这个例子来自于dive in into deep learning 2-version
2021-08-28 22:19:44
747
原创 动手学深度学习pytorch版-填坑-‘gbk‘ codec can‘t decode byte 0xaf in position 33: illegal multibyte sequence
这个是编码问题,在打开文件的时候加上编码指定即可encoding=‘UTF-8’def read_data_nmt(): """载入⼊“英语-法语”数据集。""" data_dir = d2l.download_extract('fra-eng') with open(os.path.join(data_dir, 'fra.txt'), 'r',encoding='UTF-8') as f: return f.read()raw_text = read_data
2021-07-27 10:26:33
5034
21
原创 动手学深度学习pytorch版-填坑-AttributeError: ‘Tensor‘ object has no attribute ‘T‘
在8.5节的循环神经⽹络的从零开始实现中这个地方封装进行one_hot编码时候会报错- ‘Tensor’ object has no attribute ‘T’应该是笔误或者版本迭代的问题,实际上pytorch并不支持直接用.T进行张量的转置,常用的方法有tensor.t() or tensor.transpose(dim1,dim2)更改后的整个RNN的从零实现的完整代码:import mathimport torchfrom torch import nnfrom torch.nn i
2021-07-20 21:31:18
8083
原创 动手学深度学习pytorch版-填坑-TypeError: normal() received an invalid combination of arguments
在8章的序列模型这里:%matplotlib inlineimport torchfrom torch import nnfrom d2l import torch as d2lT = 1000 # 总共产⽣1000个点time = torch.arange(1, T + 1, dtype=torch.float32)x = torch.sin(0.01 * time) + torch.normal(0, 0.2, (T,))d2l.plot(time, [x], 'time', 'x',
2021-07-15 00:28:35
4178
原创 Seq2Seq and NMT(基于cs224n的最全综述神经机器翻译技术)
文章目录Machine Translation的简介:统计机器翻译模型(SMT):神经机器翻译(NMT)-sequence 2 sequenceGreedy decodingBeam searching decodingBeam search decoding: stopping criterion—停止标准NMT与SMT的对比:NMT的缺点:NMT评估-BLEUNMT仍然需要重点研究和解决的领域:NMT研究的继续-sequence to sequence的新进展(Attention)Attention的工
2021-07-12 20:57:13
754
1
原创 梯度消失/爆炸与RNN家族的介绍(LSTM GRU B-RNN Multi-RNNs)-基于cs224n的最全总结
vanishing gradients and fancy RNNs(RNN家族与梯度消失)文章目录vanishing gradients and fancy RNNs(RNN家族与梯度消失)内容大纲:Vanishing gradientExploding gradient如何修复vanishing gradient的问题LSTM(Long short-Term Memory)LSTM是如何解决vanishing gradients的问题的?GRU(Gated recurrent units)-两个门解决
2021-07-09 16:24:37
320
原创 RNN-LM(语言模型与RNN)-基于cs224n的最全总结
语言建模与循环神经网络(language Modeling and RNN)语言模型的实质就是预测下一个出现的词的概率 给一段文本依次预测N-gram modelN-gram就是由n个连续单词组成的块核心思想:通过统计不同n-grams出现的概率,然后预测下一个词语。假设与定义:一个简单的条件概率模型:第n个单词是什么只取决于前面n-1个单词如何计算?通过对大型语料库的计数来计算概率N-gram的几个典型问题:只考虑前面的N-1个单词,可能忽略很多有用的背景信息,例如学生打
2021-07-08 13:55:42
791
原创 CS224N笔记(1~3)简介+word2vector
CS224NNLP与深度学习的结合简介文章目录CS224NNLP与深度学习的结合简介简介为什么NLP会这么困难?Deep NLP:What is word2vector?word2vector的常见方法(word embedding):skip-grams(最基础,效率不高):摘录一篇csdn大佬的总结:skip-grams的优化负采样(negative sampling)CBOW模型CBOW网络计算的步骤:一种基于这种直接查看共现(co-occurence)矩阵的方法:**怎么解决呢?答案是奇异值分解
2021-07-03 18:16:46
190
1
原创 什么是Self-attention?(Transfomer)
2.Self-attention(Transfomer)基于台大李宏毅老师的课程文章目录2.Self-attention(Transfomer)导读Self-attentionSelf-attention的计算过程计算过程的向量化(query key value)需要学习的参数Multi-head self-attention (Different types of relevance)-不同的相关性加入位置信息(比如pos-tagging 词性标记-分析)NLP应用(Bert)Speech(应用)im
2021-06-26 00:40:37
453
1
原创 CNN-台大李宏毅学习笔记
1.CNN文章目录1.CNNCNN -2 versionCNN为什么叫CNN?(卷积)总结:Pooling(池化)Alpha Go?ONE-HOT Vector 维度-决定了图像分类的个数softmax一张图片一般是一个3D-Tensor长和宽代表了这张图片的像素值-即解析度channel(一般是3 RGB-三原色)图片作为输入时,一般是长宽相同的,这需要resize(shape)来进行数据预处理一个网络的输入通常是一个向量-所以我们在输入时需要将3D-Tensor拉直,成一个在此例子中
2021-06-19 19:49:27
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人