自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ben

  • 博客(32)
  • 资源 (7)
  • 收藏
  • 关注

原创 【无标题】

基础练习题目##背景。

2023-09-19 20:38:47 70

原创 AUC及其拓展GAUC

auc用来评估一个分类器的排序质量,它的物理含义:给定一堆正负样本,随机取一个正样本,一个负样本,学习器将正样本排在负样本前面的概率。

2023-08-07 22:48:08 224

原创 杂篇之3-C++的输入与输出

1.C++/C输入输出常用函数两个函数:cin ,与c 中的scanf类似 特点:遇tab,space,Enter即结束输入(scanf一样)getline,与 c中的gets(char *s)类似 特点:读入一行文本,遇到换行符结束,但是并不保存换行符;如果输入第一个字符即\n则输入为空字符串2.输入多行char类型字符,行数不定例子如下: abcdfr acdf a

2017-05-20 21:49:40 354

原创 杂篇之2-堆篇

1.基本操作H.top() :返回堆顶元素,但是不删除该元素H.pop() :删除堆顶元素H.pop(item) :往堆顶插入元素item 2.基于库的int类型的最大堆,最小堆下面对堆的构建都是基于标准库中的priority_queuepriority_queue默认情况下建立在vector之上2.1 最大堆默认情况下,基于int类型构建的最大堆为最大堆 //priority_q

2017-05-20 21:20:34 236

原创 杂篇之1-字符串与int类型的相互转化

1.将string转化为int类型自己写 string L("123");int num=0; for(int i=0;i<L.size();++i){num=num*10+int(L[i]-'0');} atoi函数(注:atoi函数的输入是const char *类型的 cout<<"atoi()结果为:="atoi(L.c_str())<<endl; string 转化为do

2017-05-20 21:16:34 414

原创 21.剑指offer-数组中重复的数字

1.题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。2. 思路思路1:使用hash表思路2:(来自剑指offer)如果数组中只有一个重复的数字,则我们可以将数组中的数字依次异或,最后得到的就是那个只出现一次的数字(因为两个相同的数字异或为0),但是现在数组中存在两个重复的数字。假设我们将数组分成两个子数组,每一个子数组只包含一个只重复一次的

2017-05-15 16:42:25 269

原创 20.剑指offer-数组中的逆序对

1.题目 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 ​ 即输出P%10000000072.基本思路考察的是归并排序,计算次数时候是在执行合并操作的时候(合并两个有序的表)。设数组为A,将p~q和q+1~r之间的元素合并。设s=p,t=q+1,则逆序对数目计算如

2017-05-15 13:45:49 233

原创 19.剑指offer-把数组排成最小的数

1.题目 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。2. 基本思路​ 我们将输入数组变换成字符串,如果我们能事先对其排序,如{‘3’,’32’,‘321’}排序成{‘321’,‘32’,’3‘},则最后再将排序好的字符串重新串连起来,那么就为要求的输

2017-05-11 11:58:22 340

原创 1.二叉树的遍历

二叉树节点结构struct TreeNode{ int val; struct TreeNode *right; struct TreeNode *left; TreeNode(int _val):val(_val),left(NULL),right(NULL){ } };先序遍历访问顺序先访问根节点再先序遍历根节点的左子树再先序遍历根节点的右子树

2017-05-10 14:20:20 193

原创 18.剑指offer-连续子数组的最大和

1.题目 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长

2017-05-09 21:48:12 153

原创 2.leetcode-判断一个数字是不是回文

1.题目描述 Determine whether an integer is a palindrome. Do this without extra space.判断一个数字是不是回文2.基本想法将这个数字逆置过来,比如123 逆置结果为321,而后判断逆置的结果是不是和原数字相等题目简单,一般考虑情况都比较多如果输入是负数? 根据结果,系统默认的是输出为false如果输入是0? 输出

2017-05-08 18:08:03 288

原创 2.leetcode-Reverse Integer

1.题目描述 Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -3212.基本想法这道题就是翻转数字,本身看着没有难度。难点在于:此种题目一般要考虑的情况都非常多。求出int类型最大正数与最大负数?如果输入用例是最大整数与最大负数,它们的处理情况

2017-05-07 22:36:17 172

原创 17.剑指offer-旋转数组的最小数字

1.问题描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。2.基本想法设数组为A。下文中的分界线指的是数组中分界线左边的元素是非递减的,右边的元素是非递增的。笨办法,

2017-05-05 21:15:38 208

原创 16.剑指offer-序列化二叉树

1.题目 请实现两个函数,分别用来序列化和反序列化二叉树二叉树节点的定义:struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }}

2017-05-04 11:45:06 281

原创 15.剑指offer-按照之字形打印二叉树

1.题目 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。2.基本想法 1 / \ 3 4 / \ / \ 5 6 7 8上一层和下一层输出顺序相反,那么很容易想到使用栈。对节点1来说,入栈顺序应为3,4;3为1的左子节点,4为1的右子节点。

2017-05-03 16:09:17 248

原创 14.剑指offer-判断一颗二叉树是否对称

1.题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的.二叉树结构:struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), le

2017-05-03 11:25:18 4109

原创 13.剑指offer-二叉树的下一个节点

1.题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。二叉树节点的定义:struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struct TreeLi

2017-05-02 15:24:57 668

原创 12.剑指offer-平衡二叉树的判定

1.题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。1.1 什么叫做平衡二叉树节点为空或者节点的左右子树的高度差小于12.基本思路判断一个节点的左右子节点是不是平衡个二叉树一个节点的左右子节点的高度差是不是小于1上面两个条件都得满足即:在判断左右子节点是不是平衡二叉树的时候还要求其高度3.代码第二次实现 bool isBalanced(TreeNode *pRoot,

2017-05-02 12:21:48 217

原创 11.剑指offer-从左到右打印二叉树

1.题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。2.基本思路考察的是逐层输出二叉树的节点,本质上是二叉树的层次遍历2.1出错点两个地方出错了。vector插入元素是vec.push_back()而不是vec.push()队列中的元素是要出队的。Que.pop();3.代码 vector<int> PrintFromTopToBottom(TreeNode*

2017-05-02 12:21:15 232

原创 10.剑指offer-重建二叉树

1.问题描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回二叉树节点结构如下:struct TreeNode { int val; TreeNode *left; TreeNo

2017-05-01 12:34:36 201

原创 9.剑指offer-二叉搜索树与双向链表

1.题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。二叉搜索树的结构如下:struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val

2017-05-01 12:31:35 153

原创 8.剑指offer-删除链表中重复节点

1.题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 ​ 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5链表结构struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x)

2017-04-30 14:19:23 236

原创 7.剑指offer-链表中环的入口节点

1.题目 一个链表中包含环,请找出该链表的环的入口结点。2.基本思路设链表中有m个节点方法1:遍历链表,将访问过的节点存储在一个表中,边访问边查询,如果访问的节点已经在表中出现,则为环的入口节点时间复杂度O(m)O(m) ,空间复杂度O(m)O(m)方法2:首选计算环的长度,假设环的长度为n 用快慢指针,慢指针一次走一步;快指针一次走两步, 则快指针速度比慢指针快一倍。无论在环中走多

2017-04-30 11:58:31 211

原创 6.剑指offer-输出两个链表的公共节点

1.题目描述 输入两个链表,找出它们的第一个公共结点。链表结构如下:struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};2.基本思路设链表pHead1的长度为m,pHead2的长度为n.方法1:先遍历pH

2017-04-30 11:57:18 242

原创 5.剑指offer-链表复制

1.题目要求 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)链表形式如下:struct RandomListNode { int label; struct RandomListNode *next, *rand

2017-04-29 12:37:23 195

原创 4.剑指offer_用两个栈模拟一个队列

前言:这道题很简单,第一次做时,提交了一次;第二次做时,连续提交了三次。而且代码也变的很烂.不上心什么都做不好基本想法假设两个栈分别人stack1 和stack2进栈时,进栈stack1出栈时, 如果stack2栈不为空,则将stack2的栈顶元素作为返回元素如果stack2为空,但是stack1不为空,那么将stack1栈中的元素push进stack2,而后取出stack2的栈顶元素作为返

2017-04-29 11:28:26 215

原创 3.剑指offer-合并两个有序的链表

3_剑指offer-合并两个有序的链表1.题目要求 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。要求辅助空间是O(1)O(1)2. 想法假设两个链表的头指针分别是pHead1和pHead2.基本想法是:用一个指针p指向合成链表的尾节点,p1指向pHead1链表中等待比较的节点,p2指向pHead2链表中等待比较的节点,那么每一次比较p1指向的节点

2017-04-28 11:40:39 156

原创 2.剑指offer-数组中滑动窗口的最大值

2.剑指offer-数组中滑动窗口的最大值1.问题描述

2017-04-27 15:17:03 319

翻译 R编程规范

注:来自Google’s R Style Guide1. 文件命名1.1 符号和命名文件的命名(File Names) 文件的命名应该以.R为结尾,并且应该有意义(你要干什么) GOOD: predict_ad_revenue.R BAD: foo.R标志符(Identifiers) 标志符的命名分为变量的命名和函数的命名。 在标志三符中不要使用_和-。标志符的命名应该遵循一贯

2017-04-08 21:21:54 683

原创 1.leetcode-字符串处理函数atoi的书写

2_字符串处理函数atoi的书写函数形式int strToInt(const char *str);要注意的问题:如果输入是一个空的字符串要如何处理?你要返回什么?如果返回是0的话,那么如果真的是0,如何区别?返回0,和真正0的区别,在于多输出一个提示语句。如果输入的指针是一个NULL要如何处理?返回0负数要如何处理?判断第一个字符是不是’-‘溢出要如何处理?正向溢出,返回最大值

2017-04-07 23:49:36 363

原创 当文件中存在NULL时,如何读取文件,使其转为NA?

1.R: 当文件中存在NULL时,如何读取文件,使其转为NA?文件如下(case.txt): charCol floatCol intCol1: a 1.5 102: b NULL 33: c 3.9 NULL4: d -3.4 41.常用读取方式> require(data

2017-04-06 23:26:01 1989

原创 2-找两个有序数组的中位数

2-找两个有序数组的中位数 题目:There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).1.步骤

2017-03-19 18:54:21 337

pajek 中文手册 (附英文)

pajek 这是一款非常成熟的软件,用来分析大型网络有自己独特的优势 。

2014-10-31

VIM 中文帮助文档

vim的很好的入门材料 不过关键还是得多多练习

2014-08-06

最优化讲义(上海交大)

最优化的讲义 没有课本上的罗嗦 值得一看

2014-08-06

社区检测-海豚社会网络

海豚社会网络,做社区检测经常用到的数据集

2014-07-23

Bayesian_Data_Analysis

关于贝叶斯的,数据挖掘,机器学习的可以一看

2014-04-04

linux 初学者指南

适合于linux初学者 是PDF扫描版

2014-04-04

空空如也

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

TA关注的人

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