3 码源

尚未进行身份认证

暂无相关简介

等级
TA的排名 5w+

建模学习第一课--评价类问题层次分析建模

评价类问题解决:1)评价目标2)可选方案3)评价准则体系(选择哪些因素作为评价准则,a在网上搜b常识c背景材料)选取评价因素方法:a在网上搜论文的指标进行借鉴更有说服力更专业b没有找到相关方案:和队员进行讨论,或者其他平台其他相关问题,搜索网站推荐https://search.chongbuluo.com/(google>baidu>zhihu>weixin)...

2020-04-16 12:00:49

二叉搜索树转换双向链表c++

递归版本递归的思想:按照中序遍历每个节点并加入链表更新Plast----将整个树分解成了无数的小树,然后将他们分别转化成了一小段一小段的双向链表,再利用pLast记录总的链表的末尾,然后将这些小段链表一个接一个地加到末尾。class Solution {public: // Plast 节点始终记录已经加入链表的最后一个节点 TreeNode* Plast = NULL...

2020-04-06 15:11:37

锁的分类

从线程是否需要锁定同步资源,分为乐观锁(互斥同步锁)– 可以简单理解为通常需要版本号控制– 举例:如git push– 适合:并发多读少写的情况悲观锁(非互斥同步锁)– 修改数据时把数据锁住别的线程无法访问改变– 缺点:可能会导致永久阻塞– 举例:如数据库select xxx for update–适合:临界区有IO操作、代码复杂、竞争激烈,并发多写入,避免大量自旋锁消耗。多...

2020-03-26 11:58:15

堆和栈的区别(转载)

一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(...

2020-03-22 18:02:15

C++默认大小根堆priority_queue求中位数

以前实现大小根堆总要自己写代码,循环父节点和孩子节点比大小换位置,今天看到C++中有默认的大小根堆实现// 大根堆priority_queue<type> BigRoot;// 小根堆priority_queue<type, vector<type>, greater<type>> SmallRoot;当然如果全是正数的话,小根堆实现比较...

2020-03-16 19:58:04

SVM重复样本点会改变判断结果嘛

这是一道在面试中被问到的题目,比较晕,今天做了实验只是get了结果先记录一下,具体原因探索清楚再补充【问题】当样本点整体copy一份会改变SVM的预测吗仅正/负样本点整体copy一份会改变SVM的预测吗【实验】```pythonfrom sklearn import svm # 测试数据X = [[-2, 0], [0, 0], [0, 1], [1, 0]] # tra...

2020-03-15 11:31:57

HiveQL distribute by、group by、sort by、order by、sort by、cluster by区别

distribute by f(col):控制数据经过map后如何分给reduce的,把数据按照col列(以及总共reduce个数,默认是采用hash算法)分散到不同的reduce,即col值经过hash后相同的数据会被分到同一个reduce,当然这里我用的f(col),表示划分的可以是任何col的函数如length等。group by f(col):用于分类所有记录结果的特定集合列,查询...

2019-07-10 15:05:15

机器学习面试常见问题--线性回归、逻辑回归、交叉熵、多分类

1,线性回归与逻辑回归区别?在拟合数据上,线性回归是用一条线直接拟合训练数据,而逻辑回归先利用sigmoid函数将数据映射为相应分类的概率拟合概率;在学习策略上,线性回归利用最小二乘法使损失函数(均方误差)最小化,而逻辑回归利用梯度下降法使损失函数(最大似然函数/交叉熵)最小化,即求所有训练样本的条件概率之积的最大值。2,为什么用对数似然函数?使用最大似然函数时,很多样本的概率需要连乘...

2019-05-23 07:46:24

C++面试常见概念2️⃣--指针引用、const汇总总结

1,指针引用的区别:首先最根本的,指针是地址,引用是别名。1)在使用上,指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。也就是说在赋值后,指针可以被重新赋值,即指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变,但是指定的对象其内容可以改变(非const的情况下)。指针可以指向空值,但是引用不可以它初始化的时候就必须指向一个已经存在的对象...

2019-05-22 21:06:25

leetcode334. 递增的三元子序列

题目:给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。解释:数学表达式如下:如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1,使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否则返回 false 。说明:要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。示例 1:...

2019-05-19 11:00:36

C++面试常见概念--inline、virtual、static汇总总结

inline内联函数简单来说,编译器将inline函数体代码直接复制到inline函数调用点处而非普通函数的函数调用,有点像宏但是比宏更安全会,会做安全检查或自动类型转换。特点:省去了参数压栈、栈帧开辟与回收,结果返回等,加快运行速度;大多类的成员函数(没有循环递归、定义在内类或显示内联等)会自动转化为内联函数;但是也会造成代码膨胀、版本迭代不便、程序员不可控缺点。virtual虚函...

2019-05-15 19:52:53

leetcode 301.删除无效括号

题目删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。【说明:】 输入可能包含了除 ( 和 ) 以外的字符。示例 1:输入: “()())()”输出: ["()()()", “(())()”]示例 2:输入: “(a)())()”输出: ["(a)()()", “(a())()”]示例 3:输入: “)(”输出: [""]思路首先正向(从左向右...

2019-05-13 21:02:44

计算两字符串之间的距离

这个问题是对问题“已知两个字符串s和t,对s在任意位置执行三种操作:插入一个字符;删除一个字符;替换一个字符,求将s变成t所需要的最少操作次数x”的延伸,其实就是多加一步公式1-x/max(len(s),len(t)),因为将字符串s变成字符串t需要变化的次数越多,那么两个字符串之间的距离就越大。那么如何求字符串s变成字符串t的次数呢,假设len(s)=m,len(t)=n,建立一个[m,n]的...

2019-05-12 22:38:33

两个数组的交集 II

题目:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。进阶:如...

2019-05-11 22:33:17

leetcode 217.存在重复元素

题目给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true思路1使用set记录元素,因为se...

2019-05-10 17:23:57

正则化网站Regex Golf--Backrefs (9)

推荐两个正则化尝试和练习题网站:正则化尝试:https://regexr.com正则化练习题:https://alf.nu/RegexGolf

2019-05-10 16:40:22

leetcode189.旋转数组

题目给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步:[7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99...

2019-05-10 16:36:07

LeetCode152. 乘积最大子序列

题目:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 :输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。思路:记录数组中每一个索引位置值包含进连乘末尾的最大最小值maxhere、minhere(...

2019-05-09 17:17:10

力扣212. 单词搜索 II

题目:给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入:words = [“oath”,“pea”,“eat”,“rain”] and board =[[‘o’...

2019-05-08 23:56:03

力扣208. 实现 Trie (前缀树)

题目:实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert(“apple”);trie.search(“apple”); // 返回 truetrie.search(“app”); // 返回 false trie.startsWith(“ap...

2019-05-07 23:03:58

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。