- 博客(36)
- 收藏
- 关注
原创 写毕业论文之如何添加参考文献(使用尾注)总结网上步骤
弄了老半天,也是挺不容易的,总结一下。这个网页是 使用尾注标注参考文献的编号 的方法。 其中我的word调出查找和替换的 快捷键是Ctrl+H。https://jingyan.baidu.com/article/36d6ed1f7d04811bcf4883c2.html这是在参考文献后还能添加致谢的方法:https://zhidao.baidu.com/question/1...
2019-10-15 19:23:08
2965
原创 剑指offer-二叉搜索树的后序遍历
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。知识点:1、后序遍历是”左右根“。因此最后一个遍历到根节点,故数组中最后一个元素是根节点2、二叉搜索树的特性:左子树上的节点都小于根节点,右子树上的节点都大于根节点。这个后序遍历得到的数组是{1,3,4,2,7,6,5};...
2019-08-10 19:58:34
166
原创 Qt5.12连接MySQL8.0(driver not loaded)解决办法
在学习Qt的道理上总是有好多阻碍啊。这次又是连接数据库的问题,同样在网上找了一堆教程,最后看到了这个博客,感谢博主。https://blog.csdn.net/monkey988/article/details/89159777这里直接将解决贴出来编译器是64位的,qt和mysql都是64位的。先找到 MySQL文件夹下的 bin和 lib文件夹 比如 D:\So...
2019-08-08 14:37:36
2897
4
原创 qt5.12 解决显示中文乱码问题
在网上找了好多方法都没有解决这个问题,焦头烂额。然后参考了这个博客,终于搞定了。https://blog.csdn.net/fasthorse/article/details/80431808在菜单栏 文件->选项,找到文本编辑器文件编码设置如图在cpp文件中加入#pragma execution_character_set("utf-8")之后就可以使...
2019-08-06 16:22:29
5933
7
原创 堆排序
堆排序是利用堆这种数据结构设计的一种排序算法,是排序算法中最复杂的一个。本文参考了https://www.cnblogs.com/chengxiao/p/6129630.html,自己对堆排序做一个记录和总结不稳定排序,最差最好平均的时间复杂度都是O(nlogn)。空间复杂度是O(1)堆有大顶堆和小顶堆,大顶堆:每个结点的值都大于等于左右子结点的值称为大顶堆小顶堆:每个结点的值都小...
2019-07-29 16:48:26
166
原创 简单的排序,冒泡排序和选择排序
冒泡排序每次比较相邻的两个数,如果前面的比后面的大,则交换这两个数(这里假定按照从小到大排序),以此进行,一共需要比较n-1次,这样每次就能把最大的数放到最后面,如下图代码的关键点是需要有两个嵌套循环,外层循环控制的是排序的次数,内层循环控制的是每次排序时数的比较void bubblesort(int arr[],int n){ for (int i = 0; i < ...
2019-07-29 14:35:26
192
原创 快速排序(c++实现)
快速排序是最常用的一种排序方式了,他是非平稳排序(非平稳指的是排序的时间复杂度不固定)快速排序主要有挖坑法和指针交换法,这个原理的描述,参考这个图解http://www.sohu.com/a/246785807_684445?p=qq 解释的很清楚。主要把指针交换法用c++实现,如下:主要部分是,设置基准点 partition !!#include <iostrea...
2019-07-19 19:07:40
1660
原创 linux下的Anaconda和TensorFlow(GPU)的安装(按步骤超详细)
弄了好多次还是蒙圈的,觉得网上教程千奇百怪,有必要自己总结一下!下载安装anaconda之后就会有对应的python版本,这里需要注意,如果跟TensorFlow配合的话,要注意python的版本!建议把所有文字浏览一遍再按步骤安装!!!或者直接预览下文中的红字再回来!首先下载Anaconda1.从官网下载Linux版本的anaconda,https://www.anaconda....
2019-03-26 15:36:35
9028
原创 leetcode-141&142环形链表
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。双指针法:两个指针一个遍历速度快,一个遍历速度慢,如果有环...
2019-03-05 20:35:29
264
原创 LeetCode-208(medium)实现Trie前缀树
实现一个 Trie (前缀树),包含insert,search, 和startsWith这三个操作。示例:Trie trie = new Trie();trie.insert("apple");trie.search("apple"); // 返回 truetrie.search("app"); // 返回 falsetrie.startsWith("app"...
2019-03-05 17:15:49
196
原创 LeetCode-131(medium)分割回文串
给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。示例:输入:"aab"输出:[ ["aa","b"], ["a","a","b"]]思路:列出所有可能的分割方案,想到的是深度优先搜索,回溯算法,22-括号生成,生成所有可能出现的括号回溯算法对于回溯法来说,必须齐备的三要素:1、选择。在这个例子中,解...
2019-03-04 20:50:06
183
原创 LeetCode 56.合并区间(Medium)
给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。...
2019-02-28 17:16:28
149
原创 LeetCode-127(中等)单词接龙
给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。 所有单词具有相同的长度。 所有单词只由小写字母组成。 字典中不存在重复的单词。 你可以假设 beginWord 和...
2019-02-27 14:50:45
180
原创 LeetCode_160.相交链表(easy)
题目描述:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。 示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解...
2019-02-20 20:15:59
156
原创 LeetCode-21.合并两个有序链表(easy)
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 先比大小再合并的 对l1和l2每个数的大小进行比较,先把小的数存放到p中,直到有一个链表到达表尾。再将另一个链表中的数全部放入p中。时间...
2019-02-18 21:25:16
159
原创 MATLAB 读取文件夹下的音频并进行操作
最近用matlab读取音频,网上找的历程总是出错!自己研究了一下cleanpath='...\data\'; %这里是自己的文件夹路径 %读取文件路径下的所有wav文件,会得到一个包含文件名的信息列表file=dir(fullfile(cleanpath,'*.wav')); filenames={file.name}'; % 这里仅把name提取出来放...
2019-01-17 15:56:11
13178
5
原创 leetcode121.买卖股票的最佳时机(简单)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...
2019-01-07 14:34:38
233
原创 35.搜索插入位置 (简单)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。例如:输入:【1,3,5,6】 ,2输出:1(将会被按顺序插入的位置)输入:【1,2,3,4】 3输出 :2 (3所在的位置)方法一:直接粗暴的方法 ,时间复杂度是O(n)class Solution {pu...
2019-01-02 15:52:15
160
原创 Leetcode 4-寻找两个有序数组的中位数(hard)
题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, ...
2018-12-13 09:18:05
176
原创 剑指offer-跳台阶问题
1. 跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。如果第一次跳一个台阶,那么剩下n-1个台阶,再进行f(n-1)次如果跳两个台阶,那么剩下n-2个台阶,再进行f(n-2)次这就类似于 Fibonacci,可以用递归和循环来解决这个问题。方法一:递归class Solution {...
2018-12-10 17:37:39
189
原创 剑指offer-整数中1出现的次数
题目描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。主要思路都是在该题的讨论区里看到的。我们这里以十位为例,不以百位为...
2018-12-07 11:02:23
155
原创 剑指offer-从尾到头打印链表(链表)
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。链表中当前节点q的next指针本来指向的是后一个节点,现在要令他指向前一个节点p(在此之前用r存下q的后一个节点)。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x)...
2018-11-30 14:04:40
128
原创 剑指offer-把数组排成最小的数(数组)
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。这道题就是一步步拼接,先把两个数拼接,得到较小的那个时间复杂度是O(nlogn)class Solution {public: string PrintMinNumber(vector&l...
2018-11-29 20:50:41
167
原创 剑指offer-数字在排序数组中出现的次数(数组)
题目描述统计一个数字在排序数组中出现的次数。方法一:最简单粗暴的方法就是遍历!等于k就令count+1。这个方法是时间复杂度是O(n)。class Solution{public: int GetNumberOfK(vector<int> data,int k){ if(data.size()<0) return 0; int count=...
2018-11-29 16:55:52
149
原创 剑指offer-连续子数组的最大和(数组)
题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序...
2018-11-29 11:34:01
155
原创 剑指offer-数组中只出现一次的数字(数组)
题目描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。这题想到用map,类似于“数组中出现次数超过一半的数组”https://blog.csdn.net/Mr_xuexi/article/details/84555464其中,data[i]是key值,出现次数count为value值。方法一:这个方法比较容易想到,思路也比较简单。...
2018-11-28 21:26:11
200
原创 剑指offer-最小的k个数(数组)
题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。这道题需要注意的就是input.size()<k这个情况,其他的思路就很简单,排序,输出方法一:sort函数由于用到了sort函数,因此时间复杂度是O(n*logn).class Solution {public: vector...
2018-11-27 19:57:17
247
原创 剑指offer-数组中出现次数超过一半的数字(数组)
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。看到这个就想到了c++中的map,C++中map提供的是一种键值对容器,里面的数据都是成对出现的。每对中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第...
2018-11-27 12:14:42
142
转载 剑指offer-顺时针打印矩阵(数组)
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 这题看似简单,就是分四个方向把矩阵输出了,但是!!!!其实有一些隐藏的点,将矩阵分为三种情况:1.类...
2018-11-22 20:49:00
260
原创 剑指offer- 调整数组顺序使奇数位于偶数前面(数组)
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。看着这个题目,想到的是排序算法。(推荐这个)以及利用空间换时间,新建数组的算法。先说这个新建数组的算法,思路简单。就是将奇数和偶数分别计算出来放在新的数组里,再把新的数组给旧数组。class Solut...
2018-11-21 12:43:52
104
原创 剑指offer-旋转数组的最小数字
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。这里采用的方法是在讨论中学习到的方法,基于二分法的思想用low和high指向两边,以及mid=low+...
2018-11-20 11:13:23
120
原创 Leet Code OJ 1. Two Sum [Difficulty: Easy]
1.两数之和出现频度为5给定一个整数数组和一个目标值,找出数组中和为目标值的两个数你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。Python代实现:方法一:暴力法最简单的思路,就是用两个for循环分别遍历数组中的数,找到两个数的和为target。class Solution(object): def twoSum(self, nums, tar...
2018-11-19 19:21:54
165
原创 LeetCode18:四数之和(Medium)
题目描述:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要...
2018-11-19 19:21:25
117
原创 剑指offer - 二维数组中的查找
二维数组中的查找题目概要:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。其实这个思路是讨论中提到最多的一种思路,并不是自己想出来的。考虑到从左到右的递增和从上到下的递增顺序,我们先考虑左下角,左下角是最左列最后一行的数,他是这一列中最大...
2018-11-15 19:36:36
150
原创 LeetCode- 16. 最接近的三数之和 (Medium)python和c++实现
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).这里参考的是15.三数之和,都是把先把...
2018-11-15 19:33:51
194
原创 剑指offer--Fibonacci
用迭代而不用递归,递归实际操作计算时间过久,当计算到第四个的时候,计算为:Fibonacci(4) = Fibonacci(3) + Fibonacci(2); = Fibonacci(2) + Fibonacci(1) + Fibonacci(1) + Fibonacci(0); = Fibonacci(1)...
2018-11-15 17:20:27
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人