自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CJ-的博客

idoit

  • 博客(55)
  • 收藏
  • 关注

原创 可能是史上最适合入门SQL语句的教程——自学SQL网学习笔记

自学SQL网Note学习网址:http://xuesql.cn/表格、题目和知识点采集于自学SQL网,这个网站提供直接练习SQL的页面,免去了安装MySQL和导入表格的繁琐步骤,非常推荐初学者学习!部分答案参考:https://blog.csdn.net/Xemacil/article/details/107086456因为现在网站删掉了部分题目,我根据上面的博客补充了之前的题目,但是否准确就无法验证了。本文除了整理提供了网站的答案外,还写入了部分从的题目中得到的思考和总结,适合需要初步学习SQL

2021-01-31 15:26:52 1771 2

原创 PaddlePaddle实战系列1——波士顿房价预测

参考的项目是官方的一个入门项目:波士顿房价预测首先点击上面网址,fork该项目。输入项目名称和项目描述后,创建该项目。然后就会来到这个页面。点击运行。现在Baidu AI Studio,创建项目并运行,即赠送12小时GPU算力,非常给力。选择高级版,确定。等待项目运行。进入项目。就可以开始愉快地学习了。其实原文档讲解得也很详细,但是有很多接口没有给出说明,我尽力帮助大家说明...

2019-09-11 23:35:30 5292 1

原创 ImageNet Classification with Deep Convolutional Neural Network 论文笔记与复现(AlexNet Colab+Keras TB可视化))

本文用于记录阅读论文ImageNet Classification with Deep Convolutional Neural Networks中总结有价值的点。文章目录0 Abstract1 Introduction2 The Dataset3 The Architecture3.1 ReLU Nonlinearity3.2 Training on Multiple GPUs0 Abstr...

2019-07-20 23:01:52 3295

原创 金融时间序列Note 1 —— 平稳性,相关系数,自相关函数(ACF)及其平稳性检验

本文用于《金融时间序列》的相关介绍,适合快速入门和期末复习。(才怪我感觉自己考的超烂)OK,首先用自己的话讲一下什么是时间序列,首先我们会考得最多得时间序列肯定是线性的,既然说了有线性的,那肯定就有非线性的,经典的三类AR,MA,ARMA。那什么是时间序列呢?首先这是一个数学模型,用来干嘛?用来做预测的,举个例子,如果你知道一个月之后某只股票的股价,你是不是发达了,那你怎么预测呢?猜数字?不可能...

2019-07-01 11:56:25 12455 2

原创 leetcode NO.148 排序链表 白痴讲解 腾讯精选练习50

以前好像做合并有序链表那个题,所以有一个万能的写法,但是题目要求常数级空间所以这个方法不行,但是还是贴出来。就是用一个list先存起来,然后再排序再放进去,速度很快,但是不是常数级空间,是O(n)# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# ...

2019-06-29 01:36:16 183

原创 leetcode NO.146 LRU缓存机制 白痴讲解 腾讯精选练习50

这道题实在是没看懂参考了B站这个大神,大概看懂了https://www.bilibili.com/video/av49870345?from=search&seid=13851888023627148872主要是要定义一个双向的链表和一个字典来处理。双向链表可以可访问它的上一个元素和下一个元素。字典可以储存(每个双向链表的key,和它们对应的双向链表)同时还需要两个额外的函数...

2019-06-22 17:35:49 144

原创 leetcode NO.142 环形链表 II 白痴讲解 腾讯精选练习50

官方答案写的很好,建议大家参考

2019-06-16 01:27:20 172

原创 leetcode NO.141 环形链表 白痴讲解 腾讯精选练习50

直接法:原本想法是用list存里面的链表的表头的数字的,结果发现如果给的链表如果数字有相同的话就会不行,于是还是要存链表才行,这样比较费空间# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# se...

2019-06-14 17:29:22 122

原创 leetcode NO.136 只出现一次的数字 白痴讲解 腾讯精选练习50

本次讲解方法来自leetcode官方解答https://leetcode-cn.com/problems/single-number/solution/zhi-chu-xian-yi-ci-de-shu-zi-by-leetcode/我们的最终目的使用线性复杂度,不是用额外空间做出来方法一:遍历全部情况遍历 nums中的每一个元素如果某个nums中的数字是新出现的,则将它添加到no_d...

2019-06-14 15:07:18 128

原创 leetcode NO.124 二叉树中的最大路径和 白痴讲解 腾讯精选练习50

这是官方解答的代码https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/solution/er-cha-shu-de-zui-da-lu-jing-he-by-leetcode/# Definition for a binary tree node.# class TreeNode:# def __init__...

2019-06-12 01:17:32 130

原创 leetcode NO.84 格雷编码 白痴讲解 腾讯精选练习50

举报了,本来写的好好的,突然没了,什么辣鸡编译器。今天这个题目不太好懂,看了好几个blog我才看懂是什么,我先来解释一下关键在于多读几遍这个句,格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。首先题目给的n是指二进制数的位数比如说n = 0 对应 Nonen = 1 对应 0 1n = 2 对应 00 01 11 10n = 3 对应 000 001 ...

2019-06-11 00:56:36 133

原创 leetcode NO.121 买卖股票的最佳时机 白痴讲解 腾讯精选练习50

DPclass Solution: def maxProfit(self, prices: List[int]) -> int: if len(prices) <= 1: return 0 else: rmax = 0 pmin = prices[0] ...

2019-06-10 01:04:26 118

原创 leetcode NO.104 二叉树的最大深度 白痴讲解 腾讯精选练习50

第一想法是递归,因为他们能分成相同的二叉结构先给出n = 0的情况if root == None: return 0其实我这里还多写了n = 1的情况,其实可以不写,只是当时没想到不写其实也行elif root.left == None and root.right == None: return 1然后写如何从n = k推到 n = k+1else: return ...

2019-06-09 22:44:24 156

原创 leetcode NO.78 子集 白痴讲解 腾讯精选练习50

回溯法class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: result = [] def dfs(lst,nums,pos):#pos用于记录轮到那一位的下一位的下标 result.append(lst[:])#这一步不知道为什么一定要...

2019-06-09 21:31:23 178

原创 leetcode NO.344 反转字符串 白痴讲解 腾讯精选练习50

双指针class Solution: def reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """ i, j = 0, len(s) - 1 while...

2019-06-08 01:06:36 120

原创 leetcode NO.62 不同路径 白痴讲解 腾讯精选练习50

动态规划DP考虑位置(i,j)。到达该位置一共有2条线路,从上面的格子(i-1,j)过来或从左边的格子(i,j-1)过来,不可能从下面的格子和右边的格子过来。所以递推公式path(i,j)=path(i-1,j)+path(i,j-1),边界条件是,(0,j)j=0,…,n-1的和(i,0)i=0,…,m-1的只有一种方式到这些点,所以dp[i][0]=1,dp[0][j]=1,然后就能推出所...

2019-06-08 01:00:23 123

原创 leetcode NO.61 旋转链表 白痴讲解 腾讯精选练习50

我的方法其实比较蠢,我首先用一个while循环来读取head这个链表的正序的所有值用一个数组s储存起来,因为数组比较好操作,并且用count记录表链的长度。由于题目是给的向后推k个数字,并把这个k个数字挪到前面来,设数组长度为n实际上就等价于把前n-k个数字挪到最后面去。最后一步是将调整后数组里的数导入到一个新的链表中去。# Definition for singly-linked lis...

2019-06-04 16:28:25 109

原创 leetcode NO.59 螺旋矩阵 II 白痴讲解 腾讯精选练习50

和螺旋矩阵Ⅰ类似把取出的操作换成写入就可以了具体的分析可以看上一题class Solution: def generateMatrix(self, n: int) -> List[List[int]]: result = [[0 for i in range(n)] for j in range(n)] T = 0 D = n ...

2019-06-04 00:20:42 135

原创 leetcode NO.54. 螺旋矩阵 白痴讲解 腾讯精选练习50

class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: if matrix == []: return matrix #空矩阵返回空矩阵 T = 0 D = len(matrix) - 1 ...

2019-06-03 11:02:54 154

原创 leetcode NO.88 合并两个有序数组 白痴讲解 腾讯精选练习50

class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: """ Do not return anything, modify nums1 in-place instead. """ whil...

2019-06-03 00:40:33 182

原创 leetcode NO.70 爬楼梯 白痴讲解 腾讯精选练习50

题目描述偷懒了,明天去澳门耍,所以先把简单题做了。一开始肯定是想着用递归class Solution: def climbStairs(self, n: int) -> int: if n==1: return 1 elif n==2: return 2 else: ...

2019-06-01 00:51:09 109

原创 leetcode NO.53 最大子序和 白痴讲解 腾讯精选练习50

题目描述自己写的代码class Solution: def maxSubArray(self, nums: List[int]) -> int: nsum = 0 psum = 0 count = 0 value = [] for i in range(len(nums)): ...

2019-05-31 23:21:29 108

原创 leetcode NO.46 全排列 白痴讲解 腾讯精选练习50

题目描述主要是要用到递归的思想snew的作用是抽出一个元素,然后递归剩下的去找它的全排列一开始觉得代码很难理解,可以用数学归纳法来理解递归,首先我们虽然没有完成这个函数,但是我们先认为我们这个函数可以完成输入数组的全排列,然后我们不断抽出一个元素然后再求snew的全排列,按照原理,直到len(nums)==0的情况,对应数学归纳法k=0时的情况的解我们自己给出,然后完成k=n-1推到k=n...

2019-05-30 20:44:15 200

原创 leetcode NO.43 字符串相乘 白痴讲解 腾讯精选练习50

题目描述第一反应怎么这么简单,这怎么会是中等难度的题目。结果没注意到不能直接将输入转换为整数处理,还是放上自己写的没审题代码。def multiply1(self, num1, num2): return str(int(num1)*int(num2))emm,真实。我貌似没有找到不用int的方法,不过主流答案就是使用乘法原理,就是各个位上的数对应相乘。class Solut...

2019-05-29 11:51:03 132

原创 leetcode NO.33 搜索旋转排序数组 白痴讲解 腾讯精选练习50

题目描述这题我自己没想出来下面贴上一个我觉得比较好理解的答案https://leetcode-cn.com/problems/search-in-rotated-sorted-array/solution/sou-suo-xuan-zhuan-pai-xu-shu-zu-by-powcai/首先我们要读懂题目,虽然我读了很久才读懂是什么意思,这道题就是说有一个升序的数组1234567,现...

2019-05-27 14:02:09 191

原创 leetcode NO.26 删除排序数组中的重复项 白痴讲解 腾讯精选练习50

题目描述其实一开始看题目是比较懵逼的,什么叫不要使用额外的数组空间,就是要再原来的数组上做变换。一开始的想法比较曲折,一开始想用for去遍历做,结果发现不行,后来用while就勉强做了出来。先初始化 i=0i =0i=0 ,如果nums[0]nums[0]nums[0]和nums[1]nums[1]nums[1]两个是不同的,不用管它,直接 i=i+1i=i+1i=i+1 ,一开始其实陷入...

2019-05-21 15:53:25 124

原创 leetcode NO.23 合并K个排序链表 白痴讲解 腾讯精选练习50

题目描述今天做了一道hard的题目,感觉是之前的合并两个有序链表的升级版,提交了一次超时了,后来请教了梁老师改了一次节省了一些读取时间终于过了,同时也了解堆的用法,分治的算法虽然感觉没有完全弄懂,但是还是可以说明一下。先放上最开始的版本:# Definition for singly-linked list.# ListNode:# def __init__(self, x):...

2019-05-18 15:44:44 180

原创 leetcode NO.21 合并两个有序链表 白痴讲解 腾讯精选练习50

题目描述今天这题难度是EASY,因为做了链表的两数之和,所以应该不难做,但是一开始傻逼了,其实一开始这两个链表是有序的,每次只要比较表头的val就可以了,我sb在我将数全部取了出来,然后sorted(),再导入到一个新链表中。# Definition for singly-linked list.# class ListNode:# def __init__(self, x):...

2019-05-15 20:51:06 135

原创 leetcode NO.20 有效的括号 白痴讲解 腾讯精选练习50

题目描述这道题我觉得挺难的,不知道为什么被标成了EASY,思索了许久发现也只有一种解法——暴力法先放一下我自己初次的答案,由于不熟悉python的数据结构,写的长了很多首先先理解题目的意思,怎么样才算是有效的括号,关键在于题目中的左括号要按照正确的顺序闭合先用 a = [ ] 来记录这些个括号的进出,首先制定这样规则,进来的如果是左括号(有三种类型"(","[","{")那就进入a。如...

2019-05-14 23:51:19 165

原创 leetcode NO.11 盛最多水的容器 白痴讲解 腾讯精选练习50

题目描述第一想法就是时间复杂度为O(n2n^2n2)的暴力破解,虽然我自己写也写的很磕绊就是了,辣鸡就是我!class Solution: def maxArea(self, height: List[int]) -> int: maxarea = 0 x1 = 0 x2 = 0 for i in height[0...

2019-05-13 14:03:56 165

原创 leetcode NO.9 回文数 白痴讲解 腾讯精选练习50

题目描述比较简单,写了个一重循环就可以解决了class Solution: def isPalindrome(self, x: int) -> bool: x = list(str(x)) y = 2 for i in range(len(x)//2): if x[i] != x[len(x)-1-i]: ...

2019-05-13 00:57:33 184

原创 leetcode NO.7 整数反转 白痴讲解 腾讯精选练习50

题目描述第二题的NO4. 寻找两个有序数组的中位数,之前写过有兴趣的可以看这里,还是写的很认真的https://blog.csdn.net/qq_35547281/article/details/86676941第三题的NO5.最长回文子串,在这里https://blog.csdn.net/qq_35547281/article/details/86690418等下次没空我就交这两篇上去好...

2019-05-11 17:31:32 204

原创 leetcode NO.2两数相加 白痴讲解 腾讯精选练习50

题目描述首先要了解链表ListNode是什么,其实解答区的注释有写# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = None也就是有两个属性一个是 .val ,一个是 .next...

2019-05-10 15:54:53 213

原创 SVM 支持向量机 算法

直观解释(简短的介绍算法的直观解释)SVM,Support Vector Machine,它是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。这里涉及了几个概念,二分类模型,线性分类器,间隔最大化,凸二次规划问题。二分类模型:给定的各个样本数据分别属于两个类之一,而目标是确定新数据点将归属到哪个类中。线性分...

2019-05-09 10:56:43 338

原创 PyTorch手写数字识别

手写数字识别是经典数据集最后一次任务我们来搞一下import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimimport matplotlib.pyplot as pltfrom torchvision import datasets, transforms ...

2019-04-18 22:09:54 7896 2

原创 PyTorch理解更多神经网络优化方法

了解不同优化器SGD随机梯度下降法是梯度下降法的一个小变形,就是每次使用一批(batch) 数掘进行梯度的计算,而不是计算全部数据的梯度.因为现在深度学习的数据量都特别大, 所以每次都计算所有数据的梯度是不现实的,这样会导致运算时间特别长,同时每次都计算全部的梯度还失去了一些随机性, 容易陷入局部误差,所以使用随机梯度下降法可能每次都不是朝着真正最小的方向.但是这样反而容易跳出局部极小点。...

2019-04-16 19:32:03 559

原创 PyTorch实现L2正则化以及Dropout

了解知道Dropout原理如果要提高神经网络的表达或分类能力,最直接的方法就是采用更深的网络和更多的神经元,复杂的网络也意味着更加容易过拟合。于是就有了Dropout,大部分实验表明其具有一定的防止过拟合的能力。用代码实现正则化(L1、L2、Dropout)Dropout的numpy实现PyTorch中实现dropout...

2019-04-14 22:13:39 5562 1

原创 用PyTorch实现多层网络

用PyTorch实现多层网络步骤如下:引入模块,读取数据构建计算图(构建网络模型)损失函数与优化器开始训练模型对训练的模型预测结果进行评估import torch.nn.functional as Fimport torch.nn.init as initimport torchfrom torch.autograd import Variableimport matpl...

2019-04-13 17:38:19 1914

原创 PyTorch实现Logistic regression

PyTorch基础实现代码import numpy as npimport torchfrom torch.autograd import Variabletorch.manual_seed(2)x_data=Variable(torch.Tensor([[1.0],[2.0],[3.0],[4.0]]))y_data=Variable(torch.Tensor([[0.0],[0.0...

2019-04-12 12:36:59 1209

原创 PyTorch设立计算图并自动计算(梯度下降和线性回归的实现)

numpy和pytorch实现梯度下降法设定初始值求取梯度在梯度方向上进行参数的更新使用Python实现x = 1learning_rate = 0.1epochs = 100y = lambda x : x ** 2 + 2 * x + 1for epoch in range(epochs): dx = 2 * x + 2 x = x - learning...

2019-04-12 11:57:01 706

空空如也

空空如也

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

TA关注的人

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