自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 父进程和子进程之间的关系

在程序设计时,某一个具体的功能模块可以通过函数或是线程等不同的形式来实现。对于同一进程而言,这些函数、线程都是存在于同一个地址空间下的,而且在执行时,大多只对与其相关的一些数据进行处理。如果算法存在某种错误,将有可能破坏与其同处一个地址空间的其他一些重要内容,这将造成比较严重的后果。为保护地址空间中的内容可以考虑将那些需要对地址空间中的数据进行访问的操作部分放到另外一个进程的地址空间中运行,并且只...

2020-02-26 21:47:55 4155

转载 系统中断

https://www.jianshu.com/p/eac05373f30f

2020-02-26 18:46:24 248

原创 零钱问题 动态规划

题目:面额为1,3,5,7四种,给定8块钱,用四种面额的钱组合成8块,并且组合钱的数量要最少。方法一:暴力破解int m[] = {0,1,3,5,7};int dp(int n){ if (n == 1 || n == 3 || n == 5 || n == 7) return 1; int ans = INT_MAX; for (int i = 1; i <= ...

2020-02-19 11:56:59 345

转载 01背包问题

https://blog.csdn.net/qq_37767455/article/details/99086678

2020-02-18 21:22:31 55

原创 5.最长回文子串

思路:动态规划,时间复杂度O(n^2)对于所给的字符串s,假设dp[i][j]=true表示字符串s[i...j]是回文子串,那么dp[i+1...j-1]必定也为true。则求解最长回文子串就可以分解成一系列子问题,并通过动态规划来求解了。状态转移方程:上述状态转移方程表示,当s[i]==s[j]时,如果s[i+1...j-1]是回文子串,则s[i...j]也是回...

2020-02-16 10:34:43 68

原创 3.无重复字符的最长子串

思路:题目要求最长的子串中无重复的字符,接着就是用滑块的方法实现。例子:abcabcbb,一开始滑块包含了abc这一字符串,长度为3,记录下来。当s[i]=a时就发生重复字符a,滑块就从left删除字符直到没有a字符,删除后字符串为bc,在把a字符加入,此时字符串为bca,长度为3,记录下来。接着滑块继续往右扩张,s[i]=b时候发生重复字符串b,重复上述操作。知道扩张结束。比较记录的长度中...

2020-02-15 18:39:20 70

原创 2.两数相加

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* a...

2020-02-15 09:53:03 60

原创 306.累加数

class Solution {public: bool isAdditiveNumber(string num) { string first, second,last; for (int len1 = 1; len1 <= num.size() / 2; len1++) { first = num.substr(0,len1); for (int le...

2020-02-14 17:43:04 84

原创 746.使用最小花费爬楼梯

class Solution {public: int minCostClimbingStairs(vector<int>& cost) { int n = cost.size(); vector<int> res(n+1,0); for (int i = 2; i <= n; i++) res[i] = min(res[i...

2020-02-12 18:42:22 138

原创 766.托普利兹矩阵

class Solution {public: int m, n; bool isToeplitzMatrix(vector<vector<int>>& matrix) { m = matrix.size(); n = matrix[0].size(); for (int i = 0; i < m - 1; i++) for (...

2020-02-11 18:07:42 281

原创 697.数组的度

第一步:首先还是利用HashMap类来统计各个数字出现的次数,将数值和次数分别作为key和value存入HashMap。第二步:找到频率最大的那几个数值(可以是一个也可以是多个数值),然后每一个分别用双指针方法找到在数组中第一次和最后一次出现的位置,找到他们中距离最小的那个,返回这个距离。class Solution {public: int findShortestS...

2020-02-10 23:12:31 212

原创 696.计数二进制子串

看了一下别人这个思路就比较巧妙了。就是统计连续的0或者1的个数存进一个数组,那么总的组合数就是相邻的个数的最小值的加和。举个例子来说:比如001101000这个字符串,那么统计数组中的值应该是2,2,1,1,3那么总的次数就是min(2,2)+min(2,1)+min(1,1)+min(1,3),因为要找的是1和0相等的组合,所以一定在交界处出现,并且个数等于0和1中最小的那个,...

2020-02-10 22:28:02 150

原创 686.重复叠加字符串匹配

class Solution {public: int repeatedStringMatch(string A, string B) { string s = A; int cnt = 1; while (s.size() < B.size()) { s += A; cnt++; } if (s.find(B) == s.npos) {...

2020-02-10 17:12:52 170

原创 680.验证回文字符串II

思路:多次尝试就行。恶心的一道题class Solution {public: bool validPalindrome(string s) { int i, j; i = 0; j = s.size() - 1; bool flag1, flag2; flag1 = true; flag2 = true; while (i < j) { i...

2020-02-09 18:04:14 120 1

原创 647.最长连续递增序列

class Solution {public: int findLengthOfLCIS(vector<int>& nums) { int sum = 0,cnt=1; for (int i = 0; i < nums.size(); i++) { if (i + 1 < nums.size()) { if (nums[i...

2020-02-09 14:56:45 88

原创 671.二叉树中第二小的节点

struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Solution { public: int min1, min2; ...

2020-02-09 14:02:17 384

转载 669. 修剪二叉搜索树

https://blog.csdn.net/hy971216/article/details/81570498

2020-02-09 13:26:31 159

转载 665.非递减数列

https://www.cnblogs.com/theodoric008/p/9453737.html

2020-02-05 16:21:40 80

原创 653.两数之和IV-输入BST

class Solution {public: vector<int>m; bool findTarget(TreeNode* root, int k) { preOrder(root); sort(m.begin(), m.end(), less<int>()); int i,j,sum; i = 0; j = m.size()-1; ...

2020-02-04 22:16:34 200

原创 643.子数组最大平均数I

方法一:class Solution {public: double findMaxAverage(vector<int>& nums, int k) { double avg = 0,sum=0; for (int i = 0; i < k; i++) sum += nums[i]; avg = sum / k; for (int...

2020-02-04 17:58:21 68

原创 628.三个数的最大乘积

情况一:全都为正数情况二:全都为负数情况三:有部分为正数有部分为负数思路:从大到小排序,取前面三个为方案一,取倒数后面的两个再取第一个为方案二;比较方案一和方案二的大小。情况(一、二、三)都是方案一或者方案二。class Solution {public: int maximumProduct(vector<int>& nums) { sort...

2020-02-04 16:26:27 60

原创 633.平方数之和

方法一: class Solution { public: bool judgeSquareSum(int c) { int num = sqrt(c); for (int i = num; i >= 0; i--) { if (i*i == c) return true; else { ...

2020-02-04 15:51:42 137

原创 617.合并二叉树

class Solution {public: TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { if(!t1) return t2; if(!t2) return t1; preOrder(t1, t2); return t1; } void preOrde...

2020-02-04 15:21:41 65

原创 605.种花问题

class Solution {public: bool canPlaceFlowers(vector<int>& flowerbed, int n) { for (int i = 0; i < flowerbed.size(); i++) if (flowerbed[i] == 1) continue; else { i...

2020-02-04 10:36:07 140

原创 563.二叉树的坡度

这个方法不建议使用,很麻烦,但是作为我的第一个独立思考出来的方法。对个人来说具有纪念意义。思路:使用三个函数,fn函数:某一节点的坡度。fn1函数:某一节点左子树右子树节点的值之和。preorder函数:遍历每一节点把每一节点的坡度相加,得到最后值。class Solution {public: int sum,tmp ; int findTilt(TreeNode* ro...

2020-02-01 17:29:53 168

python的学习PPT

python 小白入学 多看看 内容详解 各种模块 比如说列表,字典,元组,模块与包,os的常用方法,文件的读写,多进程与多线程,numpy,pandas,matplotlib包的方法使用

2020-09-02

西安电子科技大学.zip

一、盲目搜索,图搜索(A算法,A*算法)。 二、与或图,博弈论、剪枝。 三、谓词逻辑,归结原理 四、知识 五、贝叶斯网络。

2020-03-05

福州大学863数据结构ppt.zip

福州大学863数据结构ppt,共有12章节。 第1章 数据结构与算法概论 第2章 表 第3章 栈 第4章 队列 第5章 排序与选择 第6章 树 第7章 图 第8章 集合 第9章 符号表 第10章 字典 第11章 优先队列 第12章 并查集

2020-01-10

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

TA关注的人

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