自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 问答 (7)
  • 收藏
  • 关注

原创 C++11学习心得(二)

接着上一篇的继续写上一篇链接:https://blog.csdn.net/zuimman/article/details/121520790?spm=1001.2014.3001.55014多线程c++11之前的多线程和并发是通过第三方库来实现的,c++11之后引进了thread类,可以直接进行多线程和并发实现。多线程的类是thread类,其成员函数join函数,可以启动线程运行。但是并发最大的问题就是多个线程共享进程的内存空间,这就会导致争抢数据的情况,因此c++11,引入了原子数据类型:ato

2021-11-25 15:02:57 487 1

原创 c++ 11学习心得(一)

1.概述c++ 语言有有是十多年没有更新了,c++ 11出来后,使得c++这门语言多了很多特性,auto的出现、智能指针、多线程、lambda函数等。这些特性的出现使得c++这门语言的代码看起来更加的便捷和简单。2 auto类型auto类型的出现使得定义变量的时候更加方便。Python语言之所以最近比较火,是因为其语言的简便性、易学性。比如,Python语言中,变量是从来不用申明的。a=1 name='xiaoming'当时写python代码时就觉得很方便,时常在想,什么时候c++语言可以这么方便

2021-11-24 18:22:22 1332

原创 安装和使用火焰图抓手机使用情况以及出现问题的解决

一、安装准备1.安装perl:网址:https://www.perl.org/get.html,下载速度可能有点慢,因为是外网,不要着急。2.安装两个包:FlameGraph-master.zip、simpleperf-master.tar.gz,FlameGraph可以在网址https://github.com/brendangregg/FlameGraph上下载。如果要抓手机的,还需要下一个文件push到手机里:simpleperf。二、使用以vivo手机为例1.将simpleperf下载到

2021-09-27 16:49:58 1856

原创 opencl矩阵相关的问题

遇到的问题一:矩阵A:np 矩阵B:pm,用opencl运算,如果m<=n时,运算是正确的,但是如果m>n则答案就不正确了,并且随着m-n的增大,答案越来越小。

2021-08-23 14:23:24 109

原创 二分查找

一、题目描述给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。二、思路二分法,最容易想到的就是找两个定位指针,left和right,这道题一开始我想用的是递归,但是,参数里面是没有left和right。所以,就得自己去定义,而且,不能用递归的方法了。一开始,我一直没有想到,两个指针是可以自己定义的,所以尝试着,只用一个值n来做,但是显然,一个值是无法定位的,因为不能分清楚是在高区间

2021-04-25 15:22:21 48

原创 用两个栈实现队列的输入输出

一、题目描述你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty)。二、思路栈是先进后出,队列是先进先出。只要用两个栈来回倒数据就可以实现队列的要求了。 队列的push操作是没有什么问题的,但是pop操作,就得注意了,如果有两个栈,stack1、stack2,stack1代表进栈,stack2代表出栈,队列的Pop操作首先要判断stack2是否为空,如果为空的话,则把stack1中的放到stack2中,然后从Stack2中pop一个出来就好了。

2021-04-25 14:46:07 247

原创 合并两个有序数组

一、题目描述给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。二、问题分析这道题的难点:1.考虑问题的全面性...

2021-04-22 18:59:41 55

原创 买股票的最佳时机

一、题目描述给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。二、思路这道题,一开始就感觉像最大子序列和,但是仔细观察又不是,因为不是每天收益,而是在原来的价格上浮动。但是这确实得往动态规划上靠。划分子问题,dp[i],代表第i天的最大收益。dp[i]=

2021-04-21 20:38:11 44

原创 判断循环链表

一、题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。二、解题思路一开始这题我想如果数据结构中对于结点的定义多加一个标注值的话,就很容易了,遍历一遍链表,

2021-04-21 17:45:49 319

原创 大数相加求和

一、题目描述给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。二、思路分析这是一道大数的求解。也显然是一道字符串的求值方法。这道题看了题解后,采用了一种补0的思路。因为不知道两个字符串的长度,因此如果直接计算的话,很容易会出现一个字符串加完了,另一个还没有加完。但是如果给加完的字符串补0,不让他们跳出循环,那就可以愉快的进行加减了。那么什么时候可以跳出循环呢?当然是两个字符串全部减到小于0,并且作为记录进位的数字也为0,则可以跳出循环了。三、代码class Solution {

2021-04-20 22:36:49 343

原创 连续最大子序列和

一、题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。二、思路分析这道题首先想到的是动态规划,动态规划的基本套路是,将原问题分解成许多重复的子问题,这题如果让dp[i]代表以i为结尾的连续最大子序列和,那么dp[i+1]={dp[i]+nums[i+1] if(dp[i]>0)nums[i+1] if(dp[i]<0)}class Solution {public: int maxSubArray(v

2021-04-19 09:29:41 35

原创 二维数组查找

一、题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。示例1输入7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15

2021-04-07 21:36:40 97

原创 数组中重复数字

一、题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1示例1输入[2,3,1,0,2,5,3]返回值2或3二、思路分析首先审清题意,题目说n个数在0到n-1内,那么小于0或者大于等于n的数,则是不合法的输入。这道题其实很简单,如果用两层for循环,很容

2021-04-04 17:07:26 106

原创 二叉搜索树的第k小的结点

一、题目描述题目描述给定一棵二叉搜索树,请找出其中的第k小的TreeNode结点。示例1输入{5,3,7,2,4,6,8},3返回值{4}说明按结点数值大小顺序第三小结点的值为4二、思路分析通过这题,我对于二叉树的递归又多了一些了解。首先,二叉搜索树,是已经排好序的树,且顺序是按照中序来排的,在这个前提下,就选择用中序遍历来解决问题。中序遍历的基本模式是:function(p->left) 一直找到最左边的结点。操作p 结点 操作的p结点是从叶子结点部分开始的,这里是我

2021-04-04 12:03:43 313

原创 QT学习之pyqtSignal与QThread

一、pyqtSignalQt中对事件的响应是通过信号与槽来完成的,比如点击按钮事件(QT中是QPushButton的clicked事件)点击按钮QPushButton后发出一个Clicked的信号,信号发出后,我们希望它执行一个操作,比如展示窗口,或者显示图表之类,就可以在槽函数中定义要做的操作。btn = QPushButton(“登录")#定义的登录按钮btn.clicked.connect(self.login)#绑定槽函数logindef login():#定义的槽函数login,可用来显

2021-03-21 11:43:54 1215

原创 pyqt5开发桌面应用时如何使用pymysql连接数据库

一、导入pymysql如果没有装pymysql包,则先下载pymysql:pip install pymysqlimport pymysql二、连接数据库在需要用到数据库的类或者QT窗体的类中写入连接数据库代码:db = pymysql.connect(host="106.14.11.55",user="root",password="root",port=3306,database="its") cursor = db.cursor()#这里编写的是自己要用的SQL代码

2021-03-18 11:14:08 566

原创 Win10下用Anaconda安装TensorFlow(图文教程)

这一篇挺详细的https://www.jb51.net/article/189001.htm

2021-03-15 22:30:42 115

原创 如何修改pip镜像

输入命令:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple常见的镜像源地址:http://pypi.douban.com/ # 豆瓣http://pypi.hustunique.com/ # 华中理工大学http://pypi.sdutlinux.org/ # 山东理工大学http://pypi.mirrors.ustc.edu.cn/ # 中国科学技术大学http://mirrors.aliyun.

2021-03-15 22:02:07 248

原创 不用加减符号的四则运算

一、题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。示例1输入1,2返回值3二、思路这道题不让用四则运算,就要想到加减乘除在计算机里如何计算的。加法一般是用与运算、和运算结合。与运算可以算不进位的运算,而和运算可以算进位,将进位运算与不进位运算加起来就是最终的结果。比如110+011=(110^011)+(110&011)=(101 ^100)+(101&100)=1001,一直算到进位运算为0,则代表没有进位了,可以直接输出结果了。三

2021-03-08 09:43:00 97

原创 二叉树的镜像

一、题目描述操作给定的二叉树,将其变换为源二叉树的镜像。比如: 源二叉树8/ 6 10/ \ / 5 7 9 11镜像二叉树8/ 10 6/ \ / 11 9 7 5示例1输入{8,6,10,5,7,9,11}返回值{8,10,6,11,9,7,5}二、思路二叉树镜像问题,我一开始是将左右子树的值交换,发现不行,因为镜像是相当于将整个左右子树都交换,所以后来就将左右指针交换,则满足题意了。/** * struct TreeNode {

2021-02-26 12:49:49 106

原创 判断平衡二叉树

一、题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。示例1输入{1,2,3,4,5,6,7}返回值true二、思路题目给的返回值是布尔类型,我的思路是先序遍历该树,并且判断当前结点的左子树和右子树的高度差,如果差的绝对值大于1,则退出递归,如何退出递归,有一个小技

2021-02-25 17:56:50 277

原创 二叉树的深度

一、题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。示例1输入{1,2,3,4,5,#,6,#,#,7}返回值4二、思路我首先想到的就是递归的思想,二叉树本身的定义就是以递归的方式来定义的,所以就想到了用递归思想,我自己总结的递归的思想是归去来兮,归去是沿着问题的发展找到问题结束的地方,一般是问题的底层,也是递归的出口,本题是沿着根的方向朝着叶结点方向走,尽头为叶节点位置,再往下就为空结点了,这时候路走到头,就要

2021-02-24 10:29:44 118

原创 第一个只出现一次的位置

一、题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)示例1输入“google”返回值4二、思路本题,我的第一思路就是用常规的两层循环来做的。但是还是遇到一个小问题,一开始我第二层for循环的位置是从i+1开始的,但是显然,是有问题,比如google整个单词,第二个o开始后面就没有相同的,所以输出的位置为2.于是我就将第二层循环从头开始,遇到自己则conti

2021-02-23 12:16:57 40

原创 连续子数组的最大和

一、题目描述输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n).示例1输入[1,-2,3,10,-4,7,2,-5]返回值18二、思路一开始我运用动归的典型思想,先从上考虑问题,从最后一个数开始划分,设f(n)为n个数的最大子数组的和,划分子问题时,想当然的认为,如果a[i]>0,则f(n)=f(n-1)+a[i],这样写显然是错的,分析一下,可以得知,如果按照这样来划分子问题,最后得出的结果,是所有正

2021-02-22 13:19:03 71

原创 数组中超过出现一半的数字

一、题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。示例1输入[1,2,3,2,2,2,5,4,2]返回值2二、思路这道题,很容易想到是变异版的众数问题,解决众数问题有很多办法,首先一个办法,就是把每个位置在数组中出现的次数统计出来,找出最大值,然后输出其对应的值。下面的代码,我在两层for循环地方用了一个小技巧,就是第二层

2021-02-21 13:48:37 106

原创 合并两个排序列表

/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { ListNode* head=new ListNode(0); ListNode* d;

2021-02-20 16:58:21 130

原创 变态跳台阶动态规划和递归解法

一、题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。示例1输入3返回值4二、思路这道题的思路是典型的动态规化的思路,先从上往下思考问题,剖析问题,然后再从下往上解决问题。因为如果一开始就从下往上思考问题,会有很多中情况,比如从第0个台阶开始向第n个台阶跳跃,有无数种可能性。如果从上开始思考,站在第N个台阶向下思考,跳到n个台阶有f(n)种方法,n-1个台阶有f(n-1)种方法,然后再思考f(n)和f(n-1)之间有何关系,

2021-02-19 10:45:04 142

原创 二分法旋转数组找最小数

一、题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。示例1输入[3,4,5,1,2]返回值1二、思路这道题要求用二分法,一开始用的是遍历的方法,时间复杂度是O(n),后来看到题目要求就改用二分法。用两个指针left和right,left指向数组a的第一个数,right指向数组a的最后一个数。mid=(left+right)/2。当a[left

2021-02-18 16:00:07 104

原创 mysql-8.0.23-winx64版的mysql安装不用配置任何文件

之前写过一篇mysql安装,但换了一台电脑安装,又会出现新的问题,这篇文章,就不配置任何文件。下载文件mysql-8.0.23-winx64后:一、用管理员身份进入命令行输入:mysqld --initialize -insecure二、回车后在输入:mysqld install三、启动服务net start mysql这里可能有出现服务暂时启动不了的情况,我这里也花了挺长时间,中午吃了午饭后回来,发现服务可以启动了。四、输入mysql -uroot -p然后需要输入密码。这里可以去m

2021-02-02 14:39:48 2639

原创 mysql配置my.ini方法安装

mysql-8.0.23-winx64的安装方式有很多,我这里只列举通过在mysql-8.0.23-winx64文件夹中手动配置my.ini文件的方式。一、在mysql-8.0.23-winx64文件夹中配置my.ini文件。二、在my.ini文件中输入`[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录**basedir="D:\\software\\mysql\\mysql-8.0.23-winx64"#这里改成自己的文件位置# 设置mysql数据库的数

2021-02-01 10:46:30 8550

原创 python中pip和python的用法

python中pip和python的用法问题:无法使用python,在清华镜像去下载 https://pypi.tuna.tsinghua.edu.cn/simple下载了python后还是无法使用pip,则使用python -m pip install --upgrade pip

2021-01-26 21:28:12 81

翻译 SQL Server复制的阶梯:第1级 - SQL Server复制简介

该系列本文是Stairway系列的一部分:SQL Server复制的进阶SQL Replication可以解决运行数据库驱动的应用程序中的许多问题。 发布/订阅者模型不是很容易理解,脚本和监视复制系统的复杂性需要一些思考。 最后,这是一系列文章,它们负责制作所有类型的SQL Server Replication的无术语方法。第1级:SQL Server复制简介主要条目:代表发音:\?re...

2018-12-26 22:24:07 103

翻译 《Pro SQL Server Internals, 2nd edition》 作者:Dmitri KorotkevitchP55-58 P62-65 P68-69

55-58页第三章 统计SQL Server查询优化器在为查询选择执行计划时使用基于成本的模型。它估计不同执行计划的成本,并选择成本最低的一个。但是,请记住,SQL Server并不搜索可用于查询的最佳执行计划,因为评估所有可能的替代方案在CPU方面既费时又昂贵。查询优化器的目标是找到一个足够好的执行计划,足够快。基数估计(在查询执行的每个步骤中需要处理的行数的估计)是查询优化中最重要的因素...

2018-12-19 22:41:13 139

翻译 Pro SQL Server Internals, 2nd edition的CHAPTER 7 Designing and Tuning the Indexes中的Cluste

聚集索引设计注意事项每次更改聚簇索引键的值时,都会发生两件事。首先,SQL Server将行移动到聚簇索引页链和数据文件中的不同位置。其次,它更新了row-id,它是聚集索引键。存储了行id,需要在所有非聚簇索引中更新。就I / O而言,这可能是昂贵的,特别是在批量更新的情况下。此外,它可以增加聚簇索引的碎片,并且在行ID大小增加的情况下,可以增加非聚簇索引的碎片。因此,最好有一个静态聚簇索引,其...

2018-12-12 23:38:33 96

翻译 第十三周《支持SQl Server内部,第二版》 作者Dmitri Korotkevitch

聚集索引聚集索引指示表中数据的物理顺序,该顺序是根据聚集索引键排序的。表只能定义一个聚集索引。让我们假设您希望在堆表上使用数据创建集群索引。作为第一步,如图2-5所示,SQL Server创建数据的另一个副本,然后根据集群键的值对其进行排序。数据页在双链表中链接,其中每个页面都包含指向链中的下一个和上一个页面的指针。这个列表称为索引的叶级,它包含实际的表数据。图2 - 5.聚集索引结构:叶...

2018-12-06 10:06:44 104

原创 第十周左移和右移数据

用treeview控件sqlCommand.CommandText = //指定SQL命令的命令文本;“SELECT * FROM tb_Department;” ...

2018-12-05 19:14:27 126

原创 第九周怎么避免多次访问数据库。减少服务器负担。

首先声明全局并且进行外观设计public frm_CourseTable(){InitializeComponent();this.StartPosition = FormStartPosition.CenterScreen; //本窗体启动位置设为屏幕中央;this.dgv_Course.AllowU...

2018-12-05 19:13:47 577

原创 第八周xls文件转成csv文件,将其导入数据库

load data infile ‘C:/test1.csv’into table table_namefields terminated by ‘,’optionally enclosed by ‘"’escaped by ‘,’lines terminated by ‘\r\n’ignore 1 lines;

2018-12-05 19:13:13 251

原创 第七周下拉框的实现(重难点)

sqlDataAdapter.Fill(classTable); //SQL数据适配器读取数据,并填充班级数据表;this.cmb_Class.DataSource = classTable; ...

2018-12-05 19:12:18 172

原创 第六周添加

if (this.txb_Add_MedicineName.Text.Trim() == “”) //若用户号文本框为空;{MessageBox.Show(“药名不能为空!”); //给出...

2018-12-05 19:11:40 127

空空如也

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

TA关注的人

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