自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 为Jupyter添加目录

1、依次在命令行窗口中执行以下两句命令pip install jupyter_contrib_nbextensions # 安装第三方包jupyter contrib nbextension install --user --skip-running-check # 对 jupyter 进行配置2、打开 Jupyter notebook 会新增下图绿框中的按钮, 点击之,并勾选红框中的选项3、在新大开的 ipynb 文件中点击下图红框中菜单,就有如下的目录...

2020-09-16 11:04:52 536

原创 C++ Lambda表达式

[ capture-list ] ( params ) -> ret { body }其中( params ) -> ret定义了这个匿名函数的参数和返回类型, { body }定义了这个匿名函数的功能,捕捉列表[ capture-list ]是做什么的呢?概括地讲,它使这个匿名函数可以访问外部(父作用域)变量。以leetcode上的一个答案代码为例auto cmp = [&nums1, &nums2](pair<int, int> a, pair&l.

2020-09-07 17:25:32 447

原创 C++STL之最大/小堆heap简记

优先队列(priority queue)是由二叉堆(binary heap)实现的,它是一种完全二叉树(complete binary tree)。也就是说,整棵二叉树binary tree除了最底层的叶节点之外,是填满的,而最底层的叶节点由左至右又不得有空隙。完全二叉树的这个特点,给我们实现二叉堆带来了极大的便利:使用一个vector来实现这个二叉堆,寻找父节点就是该节点在数组位置/2,寻找子节点就是该节点在数组位置*2以及*2+1(呵呵,想起了最早自己用pascal实现二叉树那会)以最大堆ma

2020-09-07 17:14:11 824

转载 Pandas 中 SettingwithCopyWarning 的原理和解决方案

解决方案:学会识别链式索引,不惜一切代价避免使用链式索引 如果要更改原始数据,请使用单一赋值操作(loc): data.loc[data.bidder == 'parakeet2004', 'bidderrate'] = 100 如果想要一个副本,请确保强制让 Pandas 创建副本: winners = data.loc[data.bid == data.price].copy() winners.loc[304, 'bidder'] = 'therealname' 强.

2020-09-01 17:20:37 167

原创 【Python学习】pandas模块轴旋转函数stack和unstack用法详解

stack:将pandas数据的列旋转为行unstack:将pandas数据行旋转位列值得注意的是,默认以最内层为轴旋转,旋转完后依然为最内层如下案例:有如下的df图表df此时横轴为0-23的id,纵轴为True和False这时候输入df.stack()则得到列以横轴id旋转,旋转完后依然为最内层可以认为现在的True和False一列为level0,0-23为level1,这时候输入df.unstack(level = 0)则以Fal..

2020-08-19 20:08:48 1191

原创 jupyter notebook配置

一、生成配置文件在命令行输入jupyter notebook --generate-config生成jupyter notebook的配置文件二、配置局域网访问python下输入from notebook.auth import passwdpasswd()生成密码,复制得到的密码打开生成的配置文件,修改c.NotebookApp.ip='0.0.0.0' # 代表全部IP地址,如果有固定的IP地址,可以设置为固定的IP地址c.NotebookApp.op

2020-08-12 09:50:43 797

转载 二分查找模板(转载)

原文转自https://www.acwing.com/blog/content/307/一、查找精确值从一个有序数组中找到一个符合要求的精确值(如猜数游戏)。如查找值为Key的元素下标,不存在返回-1。//这里是left<=right。//考虑这种情况:如果最后剩下A[i]和A[i+1](这也是最容易导致导致死循环的情况)首先mid = i,//如果A[mid] < key,那么left = mid+1 = i +1,如果是小于号,则A[i + 1]不会被检查,导致错误int

2020-06-15 00:03:29 243

原创 linux下配置qt以及安装qwt

系统:ubuntu18.06安装步骤:1、到官网http://download.qt.io/archive/qt/下载 Qt 安装包,这里下载的是qt-opensource-linux-x64-5.14.0.run。2、在你的下载文件夹里右键打开终端,输入指令sudo chmod 777 qt-opensource-linux-x64-5.14.0.run给予安装权限3、...

2019-12-30 11:11:08 1089

原创 Python学习:遍历文件作批量处理

在学习机器学习实战的时候,发现网上下载的数据集存在问题,编码格式不对,但是文件夹有点多操作起来不太方便,所以这里就写了一个脚本来批量修改txt文件的编码格式__author__ = 'sym'__date__ = '19-11-26'import osdef repair(rootDir): for root,dirs,files in os.walk(rootDir):...

2019-11-27 21:40:39 652

原创 QT学习:创建文件夹以及文本文件的读写

最近做一个工程需要记录日志,限于硬件问题无法使用数据库一类的,故决定采用txt文件存储日志信息。这里需要对每一个用户建立一个文件夹,在QT里面可以这样写:QDir dir;if(!dir.exists(dirName)) //dirname即为你要创建的文件夹名字 dir.mkdir(dirName);这样创建的文件夹会位于程序所在的目录下,若需要文件夹在程序的上一级...

2019-11-27 21:24:28 1998

原创 Python学习笔记之Python容器:列表、Tuples、字典与集合

1、列表(list)类型List可以使用 [] 或是 list() 來创建空的,或是直接加入值进去,使用逗号区分即可。內容可以重复出现,且具有順序性。语法 效果 list.extend()或 += 合并list list.insert() 在指定位置插入元素,如果位置超过最大长度則放在最后面,故不会飞到很远去或出错。 del Object 用来刪除某个位...

2019-11-01 19:51:41 260

原创 C :expected identifier before numeric constant

今天在写类的时候遇到一个bug,代码如下class Solution{public: vector<int> v(10);//报错};显示报错expected identifier before numeric constant。其实就是毫无卵用的报错,问题出在类的方法外不可以调用构造函数初始化,可以用简单的初始化。...

2019-10-21 21:42:58 1407

转载 C++:STL容器迭代过程中删除元素技巧(转)

1.连续内存序列容器(vector,string,deque)序列容器的erase方法返回值是指向紧接在被删除元素之后的元素的有效迭代器,可以根据这个返回值来安全删除元素。vector<int> c;for(vector<int>::iterator it = c.begin(); it != c.end();){if(*it)it = c.erase(...

2019-10-15 22:23:51 432

原创 LeetCode:839. 相似字符串组

题目描述:如果我们交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两个字符串相似。例如,"tars" 和 "rats" 是相似的 (交换 0 与 2 的位置); "rats" 和 "arts" 也是相似的,但是 "star" 不与 "tars","rats",或 "arts" 相似。总之,它们通过相似性形成了两个关联组:{"tars", "rats...

2019-10-15 22:09:57 360

原创 C++STL之散列表

散列表(哈希表)是普通数组概念的推广。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。一个散列表中重要的是他的散列函数以及解决冲突的方法。这里试着自己模仿网上STL中hash表的实现写了一个,记在这里以便以后查看。这里散列函数选择的是除法散列法,解决冲突的方法选用的是链接法,表基于vector实现。代码如下://hashtable.h#ifnde...

2019-10-12 15:36:07 1254

原创 LeetCode:813. 最大平均值和的分组

题目描述:我们将给定的数组 A 分成 K 个相邻的非空子数组 ,我们的分数由每个子数组内的平均值的总和构成。计算我们所能得到的最大分数是多少。注意我们必须使用 A 数组中的每一个数进行分组,并且分数不一定需要是整数。样例输入输出:输入:A = [9,1,2,3,9]K = 3输出: 20解释:A 的最优分组是[9], [1, 2, 3], [9]. 得到的分数是 9...

2019-10-11 09:50:44 278

原创 C++之仿函数

最近再看STL源码的时候看到里面的实现用了大量的仿函数,然后上网搜集了一些关于仿函数的知识。仿函数(Functor)又称为函数对象(Function Object)是一个能行使函数功能的类。仿函数的语法几乎和我们普通的函数调用一样,不过作为仿函数的类,都必须重载 operator() 运算符。因为调用仿函数,实际上就是通过类对象调用重载后的 operator() 运算符。如果编程者要将某种...

2019-09-20 21:58:30 5252

原创 数论算法:唯一因子分解定理

这里讲一下算法中常用到的唯一因子分解定理:合数a仅能以一种方式写成如下乘积形式: a = p1^e1*p2^e2*...*pr^er 其中pi为素数,p1<p2<...<pr,且ei为正整数。例如数6000=2^4*3*5^3。证明就不讲了,网上一抓一大把,这里应用这个定理写了一个类,可以在分解合数的时候增加效率。#include <iost...

2019-09-17 20:13:01 1983

原创 小米秋招笔试题

跟着师姐做了下小米的笔试题,比较简单就是主要字符串处理,下面就附上题解。第一题就是输入给你一个字符串,包含A数组、B数组、以及半径R,让你求出所有满足Ai<=Bj且R>=Bj-Ai的整数对,若不存在满足条件的Ai,则输出距离Ai最近的Bj。样例输入A={1,3,5},B={2,4,6},R=1输出(1,2)(3,4)(5,6)代码如下:#include &...

2019-09-12 21:32:47 831

原创 华为2020秋招笔试试题

这两天看师姐都在忙着准备秋招,自己也去做了一下今年的华为秋招笔试题。题目描述:常用的逻辑计算有And(表示为&);Or(表示为|);Not(表示为!)。其中,他们的优先级关系是Not(!)>And(&)>Or(|)。输入描述:1、测试用例中间无空格,无需考虑空格。2、测试用例表达式只会出现如下字符:“0”,“1”,“(”,“)”,“&”,...

2019-09-12 21:16:25 5690

原创 LeetCode:795. 区间子数组个数

题目描述:给定一个元素都是正整数的数组A,正整数 L以及R(L <= R)。求连续、非空且其中最大元素满足大于等于L小于等于R的子数组个数。输入输出:输入:A = [2, 1, 4, 3]L = 2R = 3输出: 3解释: 满足条件的子数组: [2], [2, 1], [3].注意: L, R 和 A[i] 都是整数,范围在 [0,...

2019-09-12 10:33:07 337 1

原创 LeetCode:1007. 行相等的最少多米诺旋转

题目描述:在一排多米诺骨牌中,A[i] 和 B[i] 分别代表第 i 个多米诺骨牌的上半部分和下半部分。(一个多米诺是两个从 1 到 6 的数字同列平铺形成的 —— 该平铺的每一半上都有一个数字。)我们可以旋转第 i 张多米诺,使得 A[i] 和 B[i] 的值交换。返回能使 A 中所有值或者 B 中所有值都相同的最小旋转次数。如果无法做到,返回 -1.输入输出:示例...

2019-09-10 09:02:35 231

原创 C++模板类实现编译错误: Error:undefined reference to

今天在用模板类实现一个红黑树的时候,类的声明放在.h文件中,类的实现放在.cpp文件中,红黑树类的编译都没有问题,而在调用的时候头文件#include<rbtree.h>报错:Error:undefined reference to 'RBTree',但是加上#include<rbtree.cpp>后就没有问题了。在网上搜索之后才搞明白是C++模板类的问题。下面引用那个...

2019-09-06 18:06:38 2550 5

原创 LeetCode:501、下一个更大元素II

题目描述:给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。输入输出样例:示例 1:输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 ...

2019-09-06 17:45:36 125

原创 C++:STL学习之红黑树

一、红黑树介绍引用算法导论里面的话:一颗红黑树是满足下面红黑性质的二叉搜索树:1、每个结点是红色,或是黑色的2、根结点是黑色的3、每个叶结点NIL是黑色的4、如果一个结点是红色的,则它的两个子结点都是黑色的5、对于每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点根据红黑树的这些性质,易证:一颗有n个内部结点的红黑树的高度至多为2lg(n+1...

2019-09-05 21:18:13 1902

原创 LeetCode:732. 我的日程安排表 III

题目描述:实现一个 MyCalendar 类来存放你的日程安排,你可以一直添加新的日程安排。MyCalendar 有一个 book(int start, int end)方法。它意味着在start到end时间内增加一个日程安排,注意,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x < end。当 K 个日程安排有一些时间上...

2019-08-29 20:30:38 279

原创 error: no viable conversion from 'MyCalendar *' to 'MyCalendar'

今天用C++在实例化一个类的时候遇到了这样的报错,代码如下:MyCalendar cal=new MyCalendar();上网找了资料才发现,自己前段时间C#敲多了弄混了,C++里面new一个类的时候返回的是一个新创建的类的指针,将指针赋值给一个本地对象肯定要报错,故正确代码应该是MyCalendar *cal=new MyCalendar();还是基础不扎实的问题。...

2019-08-28 21:37:40 12002

原创 LeetCode:731. 我的日程安排表 II

题目描述:实现一个 MyCalendar 类来存放你的日程安排。如果要添加的时间内不会导致三重预订时,则可以存储这个新的日程安排。MyCalendar 有一个 book(int start, int end)方法。它意味着在 start 到 end 时间内增加一个日程安排,注意,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x &lt...

2019-08-28 21:29:16 366

原创 LeetCode:我的日程安排表 I

题目描述:实现一个 MyCalendar 类来存放你的日程安排。如果要添加的时间内没有其他安排,则可以存储这个新的日程安排。MyCalendar 有一个 book(int start, int end)方法。它意味着在 start 到 end 时间内增加一个日程安排,注意,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x < e...

2019-08-28 21:17:55 360 1

原创 reference to non-static member function must be called

今天在刷LeetCode一道水题的时候,遇到了报错:reference to non-static member function must be called代码如下:class Solution {public: static bool cmp(int a,int b)//问题出在这个函数 { return a<b; } vec...

2019-08-27 11:18:12 1173

原创 LeetCode:最小的必要团队

题目描述:作为项目经理,你规划了一份需求的技能清单 req_skills,并打算从备选人员名单 people 中选出些人组成一个「必要团队」( 编号为 i 的备选人员 people[i] 含有一份该备选人员掌握的技能列表)。所谓「必要团队」,就是在这个团队中,对于所需求的技能列表 req_skills 中列出的每项技能,团队中至少有一名成员已经掌握。我们可以用每个人的编号来表示团队中的...

2019-08-27 11:01:49 420

原创 QT学习(三)事件过滤器

在设计的过程中遇到了一个问题,我在派生类里重载了mousemoveevent,程序运行时,发现点击这个派生类时,主窗口也会接收到这个事件。解决方法:在定义的派生类中添加事件过滤器,接收到mousemoveevent事件后就将其处理不让其继续向下传递。以下为代码:先注册事件过滤器:this->installEventFilter(this);因为想要过滤的控件注册,因为我...

2019-08-22 21:37:01 468

原创 Qt:如何在一个类成员函数里调用主窗体里的控件

当时为新写的派生类创建了一个鼠标单击事件,希望在单击自定义控件时可以将主界面里的堆栈窗体设置在正确的页面。可以在该派生类里定义一个空的堆栈窗体指针,并在主界面里将目标堆栈窗体指针传给它。在派生类里定义函数,判断指针不为空便调用目标堆栈窗体。//派生类Animationbutton函数void Animationbutton::setStackedWidgets(QStackedWidg...

2019-08-20 21:57:29 2149

原创 Qt学习(二)设计继承自基类的派生类

在网上看到一个自定义的动画按钮很喜欢,大部分代码都是参考该博客,于是这里也学着设计了一个继承自QWidget的派生类AnimationButton。大概思路就是重载基类QWidget里的事件(enterEvent、leaveEvent、paintEvent、mousePressEvent、mouseReleaseEvent),让鼠标进入和离开该派生类的时候能产生动画,并为其添加鼠标单击事件。...

2019-08-20 21:47:18 1833 1

原创 Qt学习(一)ui界面的设计

这几天初步接触了Qt,首先在学习Qt的UI界面的设计,发现Qt里面自带的那些控件与窗体显示效果都不太好,于是上网看了一些教程,也参考了一个demo界面,然后初步设计了一个ui界面。大概的设计思路是先去掉MainWindow里的边框、菜单栏以及标题栏,自己制作需要的菜单栏以及标题栏。(重载其中的窗体绘制事件paintEvent、鼠标移动事件mouseMoveEvent、鼠标按下事件mouse...

2019-08-20 21:35:00 10322 1

原创 Halloween Costumes 区间dp

Gappu has a very busy weekend ahead of him. Because, next weekend is Halloween, and he is planning to attend as many parties as he can. Since it's Halloween, these parties are all costume parties, Gap

2017-08-28 15:35:24 313

原创 石子归并

现在有n堆石子,第i堆有ai个石子。现在要把这些石子合并成一堆,每次只能合并相邻两个,每次合并的代价是两堆石子的总石子数。求合并所有石子的最小代价。Input第一行包含一个整数T(T每组数据第一行包含一个整数n(2第二行包含n个正整数ai(aiOutput每组数据仅一行,表示最小合并代价。Sample Input241 2 3 453

2017-08-28 15:31:17 518

原创 Can you solve this equation?

Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you find its solution between 0 and 100; Now please try your lucky.InputThe first line of the input contains an integer T(1Outpu

2017-08-28 15:24:23 300

原创 Can you find it? 二分

Give you three sequences of numbers A, B, C, then we give you a number X. Now you need to calculate if you can find the three numbers Ai, Bj, Ck, which satisfy the formula Ai+Bj+Ck = X. InputThe

2017-08-28 15:23:12 364

原创 圆桌问题

圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。Input多组数据,每组数据输入:好人和坏人的人数n(Output对于每一组数据,输出2

2017-08-28 15:21:04 645

空空如也

空空如也

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

TA关注的人

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