- 博客(68)
- 资源 (9)
- 收藏
- 关注
原创 访问阿里云服务器端口问题
在阿里云服务器配置了端口的安全组之后,本地用telnet该端口还是没有通,防火墙也关了,解决方法:https://developer.aliyun.com/ask/131239?spm=a2c6h.13159736
2021-09-01 18:11:43 165
原创 MySQL数据库知识点大全
1、待定相关知识点:innodb对于行的查询使用next-key lock Next-locking keying为了解决Phantom Problem幻读问题 当查询的索引含有唯一属性时,将next-key lock降级为record key Gap锁设计的目的是为了阻止多个事务将记录插入到同一范围内,而这会导致幻读问题的产生 有两种方式显式关闭gap锁:(除了外键约束和唯一性检查外,其余情况仅使用record lock) A. 将事务隔离级别设置为RC B. 将参数innodb_lock
2020-06-29 22:48:13 554
原创 c语言的内存回收
最近写项目要用到大量的数组,但是考虑到会不会浪费很多内存?网上解答如下要看数组所使用的内存空间。 1、如果是局部函数栈空间中的数组,有程序自动回收。copy 1 2 3 4 voidf() { inta[2]={1,2};//局部栈空间上的数组zhidao,程序自动回收 } 2、...
2020-04-21 17:59:53 2788
原创 二叉树的前序、中序、后序和层序遍历的非递归实现
class Node(object): def __init__(self, data=-1, lchild=None, rchild=None): self.data = data self.lchild = lchild self.rchild = rchild class Tree(object): def __in...
2020-03-23 01:15:35 226
原创 LeetCode之团灭四道搜索旋转数组
搜索旋转数组是面试中很容易考到的题目,我面试次数不多,都已经碰到两次,一次在头条,一次在作业帮。在LeetCode中出现了四道关于搜索旋转数组的题目。LeetCode 33 题:搜索旋转排序数组 LeetCode 81 题:搜索旋转排序数组-ii LeetCode 153 题:寻找旋转排序数组中的最小值 LeetCode 154 题:寻找旋转排序数组中的最小值-ii搜索旋转数组 就是 ...
2020-03-20 22:50:16 209
原创 语言模型和时序数据的采样
## 语言模型数据集 ### 读取数据集with open('/home/kesci/input/jaychou_lyrics4703/jaychou_lyrics.txt') as f: corpus_chars = f.read()print(len(corpus_chars))print(corpus_chars[: 40])corpus_chars = corpus...
2020-02-14 20:58:05 331
原创 LeetCode72. 编辑距离
题目:给定两个单词word1 和word2,计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符def minDistance(word1: str, word2: str) -> int: wl1 = len(word1)+1 wl2 = len(word2)+...
2020-01-30 16:02:29 150 1
原创 LeetCode11. 盛最多水的容器
题目:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。思路:双指针。res = (j - i) * min( h[i] , h[j] ), 盛水面积取决于低的那块板,所以每次只移动低的那...
2019-10-08 21:47:00 130
原创 LeetCode33. 搜索旋转排序数组
题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。思路:这个题在头条面试时候问过啊,唉还是要多刷点题。下面是思路的草稿...
2019-09-16 08:56:25 160
原创 LeetCode235. 二叉搜索树的最近公共祖先
题目:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。题解:# Definition for a binary tree node.# class TreeNode:# d...
2019-09-15 20:15:17 143
原创 LeetCode230. 二叉搜索树中第K小的元素
题目:给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。题解:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# ...
2019-09-15 20:13:33 158
原创 LeetCode4. 寻找两个有序数组的中位数
题目:给定两个大小为 m 和 n 的有序数组nums1 和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。思路:忘数组中加入虚拟#,长度为0~2*n共 2*n+1,让长度恒为奇数,然后还有割点的概念,这个操作太妙,解决了长度为奇数偶数的问题,不用分情况讨论了。参考:https...
2019-09-15 20:07:41 170
原创 LeetCode26. 删除排序数组中的重复项
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。思路:用一个计数器count记录独特数字即可。题解:class Solution {public: int removeDuplicates(vector<int>...
2019-09-15 19:58:11 153
原创 LeetCode121. 买卖股票的最佳时机
题目:给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。思路:动态规划题解:一、动态规划(c++)class Solution {public: int maxProfit(vector<int>& ...
2019-09-15 19:52:15 130
原创 LeetCode53. 最大子序和
题目:给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。思路:思路一:每一个步的结果只和上一步有关,当前值 为上一步的值,和0比较,如果能做出贡献就加上当前值,否则就要重头开始思路二:动态规划,和思路一差不多题解:class Solution {public: int maxSubArray(vector<...
2019-09-15 19:46:33 123
原创 LeetCode88. 合并两个有序数组
题目:给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。思路:旧思路就是用一个新的数组,然后两个指针同时遍历两个数组,比较每个位置上然后放入...
2019-09-15 18:48:53 152
原创 LeetCode217. 存在重复元素
题目:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。思路:这道题用python中的字典的话就很简单了。那么在c++中,有没有类似的数据结构呢?是有的,STL大法好,(还好我没有用c来刷题),就是 unordered_map了,参考资料:https://www.cnblogs.com/slot...
2019-09-15 17:28:58 167
原创 LeetCode292. Nim 游戏
题目:你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。思路:找规律,你先拿,让剩下的数目为4的整数倍,那样,不管对方拿多少,比如拿n个,你就拿4-n个,那样你们总能凑成4,你总能成在最后一个回合中...
2019-09-12 08:34:35 132
原创 LeetCode146. LRU缓存机制
题目:运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少...
2019-09-12 01:20:41 113
原创 LeetCode236. 二叉树的最近公共祖先
题目:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”思路:1. 递归解法:(树这种结构真的太适合递归解法了):如果两个节点分别在左右子树,那么公共祖先为根结点,如果两个节点同在一边子树,那么...
2019-09-11 16:24:42 125
原创 github 通过 git提交代码
对github网页做上传、修改操作很麻烦,有时候还会失灵,下面直接用git来对维护githu项目首先把github上相关项目clone到本地:clark@DESKTOP-xxxx MINGW64 ~$ git clone https://github.com/Clarksh/python_data_analyse.gitCloning into 'python_data_analys...
2019-08-16 17:20:55 171
原创 sklearn下对于二分类和多类分类问题的评估方法总结
目录二分类:多分类:一、什么是多类分类?二、如何处理多类分类?三、代码实践:评估指标:混淆矩阵,accuracy,precision,f1-score,AUC,ROC,P-R(不能用)1.混淆矩阵:2. accuracy,precision,reacall,f1-score:3. ROC图和AUC值:4 . 多类分类问题不能用P-R曲线5.其他评...
2019-08-16 17:10:15 19247 6
原创 LeetCode124. 二叉树中的最大路径和
一、题目:给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。二、思路:本题 是理解递归思想的好题!! 有两个亮点,一是int &sumMax 用&来传参sumMax,可以在递归中改变该最大值,以后记得借鉴,二是递归函数maxPSum递归的到底是什么?一定要弄清这个问题,我...
2019-08-15 18:37:38 207
原创 LeetCode104. 二叉树的最大深度
一、题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。二、思路:就是找二叉树的高度,用递归方法和非递归方法三、题解:递归方法:(c++实现)/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode...
2019-08-15 16:05:53 130
原创 LeetCode231. 2的幂
题目:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。思路:1.迭代法:看一直除是否能除尽2.位运算:先来了解一下位运算# & |# 1&2,2在二进制里面是10,1在二进制中是01,# 那么01与运算10得到是00 输出0 ,01或运算10得到11 ,输出 31 & 2 # 输出为 0, 1 | 2 ...
2019-08-15 15:15:22 103
原创 LeetCode169. 求众数
题目:给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。思路:这个题的思路和前一篇博客一样题解:def majorityElement(nums): nums_set = set(nums) #去重 nums_dict = {} maj = len(nu...
2019-08-12 15:18:21 193
原创 LeetCode136. 只出现一次的数字
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。思路:python里面用的很多的字典做一个word count就行了题解:class Solution: def singleNumber(self, nums: List[int]) -> int: nums_set = set(nums...
2019-08-12 15:07:21 105
原创 LeetCode78. 子集
题目:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]思路:一开始看这么复杂的样例,会把思路想复杂,如果我们先举一些简单的例子,只有一个元...
2019-08-11 21:40:59 138
原创 pytorch学习之实现逻辑回归
要求:用PyTorch类实现Logistic regression,torch.nn.module写网络结构直接上代码:import torch# from torch import nn# 第一创建数据from torch.autograd import Variable # 导入Variable函数进行自动求导,有了Variable PyTorch才能实现自动求导功能 t...
2019-08-11 21:13:50 607
原创 LeetCode148. 排序链表
题目:在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。思路:用归并思想,但是链表排序和数组排序有所不同,数组是可以直接拿到中间索引的,而链表得用快慢指针去找。还有这道题要求的时间复杂度和空间负责度要求也比较高,经常超时了题解:这个超时了,还要改进class Solution: def sortList(self, head: Lis...
2019-08-10 20:50:12 111
原创 pytorch学习之实现梯度下降
梯度下降法的一般步骤为:(1) 设定初始值(2) 求取梯度(3) 在梯度方向上进行参数的更新用numpy实现:import numpy as npimport matplotlib.pyplot as plt #目标函数def func(x): return x**2 + 1#目标函数的梯度def grad(x): return x*2# 目标函数...
2019-08-09 17:14:32 1489
原创 LeetCode122. 买卖股票的最佳时机 II
题目:给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。思路:贪心思想,只要第i+1天比第i天价格高,就第i天买进,第i+1天卖出,题目没有写明白,能够同一天同时买进卖出,但是我们可以理解为,如果连续升高的,同一天同...
2019-08-09 14:17:39 90
原创 win10下安装pytorch的cpu版本
先在anaconda中创建一个pytorch环境(env_name自定义)conda create -n env_name activate env_name //激活(进入)虚拟环境 python //进入python,会自动显示目前使用的python版本然后上官网选择你需要的版本的pytorch(不要用conda!!!不要用conda!!!不要用conda!!!用pip!!!)...
2019-08-07 16:46:44 7671
原创 LeetCode23. 合并K个排序链表
题目:合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。格式:输入 [[1,4,5],[1,3,4],[2,6]]输出 [1,1,2,3,4,4,5,6]思路:合并几个有序的数组,不就是归并排序。显然用分治的思想。还有可以用堆。题解:方法一:分治(分治大法好)# Definition for singly-linked list.# class...
2019-08-07 14:53:45 118
原创 LeetCode215.Kth Largest Element in an Array
题目:在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。思路:用最大堆,每次取完一个堆顶就重新构建一次。用的是以前写堆排序的代码。题解:class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: ...
2019-08-06 12:44:47 134
原创 LeetCode20. Valid Parentheses
题目:给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。思路:用栈的思想,用字典形式把左右符号一一对应起来,遍历字符串,如果是左符号就入栈,如果是右符号就判断栈顶是否对应的左符号,如果是,栈顶出栈,如果不是则直接返回false,当然如果一开始就是右符号就直接返回false。遍历完之后看栈内是否还有元素,没有则为true,有则为false。题...
2019-08-05 11:58:18 108
原创 LeetCode155. Min Stack
题目:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈(避免审核不通过我就不放完整题目了)思路:用python写,栈用数组实现,一开始是想用一个变量来存最小值,但是那样一旦栈发生了变化,那每次都要查找了,所以再用一个数组(栈)把历史最小元素都存了起来,保持最小的在栈顶(数组最后一个)。题解:class MinStack: def...
2019-08-03 22:19:29 116
原创 Tensorflow入门实践
一、tensorflow的处理结构:1.形象理解:(来自莫烦) Tensorsflow是采用data flow graphs(数据流图)来计算,首先我们得创建一个数据流图,然后将我们的数据以张量(tensor)的形式放到图中计算,''tensor'' ''flow'' 就是这么来的。可以看到上图就是一个完整的神经网络的图,图中节点代表数学操作,线代表数据tensor的流动...
2019-06-28 02:41:01 434
原创 ELMo模型实践
对ELMo进行下面的实践:一、直接通过AllenNLP获取ELMo词向量1. 环境配置参考我之前的博客https://blog.csdn.net/Findingxu/article/details/91542654,2.下载训练好的参数和模型参数下载:https://s3-us-west-2.amazonaws.com/allennlp/models/elmo/2x4096_512...
2019-06-26 14:36:22 1768
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人