![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
JaneStupid
这个作者很懒,什么都没留下…
展开
-
算法-分治策略
分治法最大子数组问题矩阵乘法Strassen算法最大子数组运用递归:时间复杂度O(NlogN)不运用递归:线性时间O(N)int FindMaxCross Subarray(vector<int> &arr, int low, int mid, int high){ int left_sum=INT_MIN; int right_sum=INT_MIN; int原创 2016-02-25 15:32:24 · 366 阅读 · 0 评论 -
数据结构-堆
堆最大堆、最小堆最大堆可用于优先队列STL中 :priority_queue就是最大堆堆排序STL中有关堆的操作Heap: push_heap:Push element into heap range (function template )pop_heap:Pop element from heap range (function template )make_heap:Make原创 2016-03-06 14:31:15 · 288 阅读 · 0 评论 -
数据结构-链表
链表/**struct ListNode{ int val; ListNode *next; ListNode(int x):val(x),next=NULL{}}; **/基本操作删除结点删除除去尾结点以外的指定结点void DeleteNode(ListNode* node){ node->val=node->next->val; node->nex原创 2016-02-09 19:25:21 · 354 阅读 · 0 评论 -
算法-动态规划(一)
动态规划动态规划方法通产用来求解最优化问题刻画一个最优解的结构特征递归地定义最优解得值计算最优解得值,通常采用自底向上的方法利用计算出的信息构造一个最优解钢条切割分治法int cutRod(vector<int> &p,int n){ if (n==0) return 0; int q=INT_MIN; for(int i=0;i<n;i++) q原创 2016-02-26 18:00:48 · 257 阅读 · 0 评论 -
二叉树(四)
其他二叉树1. RB-树(红黑树)-平衡的二叉搜索树Red-Black Tree | Set 1 - 性质1-结点的颜色非黑即红 - 性质2-根节点永远为黑色 - 性质3-任意两个相邻结点不能同时为红色 - 性质4-根结点到叶节点的所有路径中经历相同个数的黑色结点 1. 举例RB-树 2. 为什么选择红黑树? - 在对数据进行搜索和插入,删除操作时,BST的运行时间复杂度平均为原创 2016-02-06 10:48:13 · 769 阅读 · 0 评论 -
C++语言
1. 关键字待更新…….指针指针变量指针函数函数指针void *指针静态类型与动态类型静态类型是在编译时就决定好的类型动态类型是在内存中的类型,只有在运行时才会知道的类型所以表达式既不是引用也不是指针,则它的动态类型永远与静态类型一直。举例:Bulk_quote bulk;Quote *itemP=&bulk;//正确:动态类型是Bulk_quoteBulk_quote *b原创 2016-03-02 20:40:05 · 549 阅读 · 0 评论 -
CListContrl得到headers的text属性
之前一直在网上搜索有关得到CListContrl的headers的text属性,但是多次搜索结果都是出错网上的一段代码是这样的,但是我用vs2010测试结果抛出异常: LVCOLUMN lvcol; char str[256]; int nColNum; CString strColumnName[4];//假如有4列原创 2016-11-01 13:46:31 · 265 阅读 · 0 评论 -
Ctring与char* 做转换
CString与char * 做转换:CString temp;char* cTemp --> (LPSTR)(LPCTSTR)temp测试环境:vs2015原创 2016-12-07 15:07:25 · 507 阅读 · 0 评论 -
随机练习题Leetcode(一)
1. Two Sumclass Solution {public: vector<int> twoSum(vector<int>& nums, int target) { multimap<int, int> map1; for (int i =0 ; i<nums.size(); i++) //map1[nums[i]]=i;原创 2017-01-11 12:42:35 · 349 阅读 · 0 评论 -
算法-回溯
Backtracking原创 2016-03-18 15:42:02 · 282 阅读 · 0 评论 -
算法-贪心算法
贪心算法Jump GameJump Game Ibool canJump(vector<int>& nums) { if(nums.empty()) return true; int farthest=nums[0]; for(int i=1;i<nums.size();i++){ if(i<=farthest && (i+nums[i])>=farthest原创 2016-02-29 18:51:58 · 365 阅读 · 0 评论 -
算法-DFS和BFS
DFS与二叉树相结合与图相结合Valid BSTRecover BSTvoid recoverTree(TreeNode* root){ TreeNode* first=NULL; TreeNode* second=NULL; TreeNode* pre=NULL; TreeNode* node=root; if(!node) return; s原创 2016-02-18 08:17:02 · 309 阅读 · 0 评论 -
C++基础复习题
顺序容器vector、list、deque(double ended queue)1、解释复制容器对象的构造函数和使用两个迭代器的构造函数之间的差别。前者的构造函数将一个对象的全部元素复制到另一个容器对象里,而且要求两个对象的类型和元素的类型都相同; 后者可以将一个容器初始化为另一个容器的子序列,而且不要求两个容器的类型是同类型的。2、为什么我们不可以使用容器来原创 2015-09-29 07:58:43 · 961 阅读 · 0 评论 -
LeetCode_LinkedList_Easy
1、Reverse a singly linked list.Hint:A linked list can be reversed either iteratively or recursively. Could you implement both?Java/*** Definition for singly-linked list.* public class原创 2015-10-01 23:49:22 · 265 阅读 · 0 评论 -
LeetCode_Array_Easy
1、Contains DuplicateGiven an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return fal原创 2015-10-02 02:46:22 · 230 阅读 · 0 评论 -
C++基础简述题
C++基础简述题变量的声明(statement)和定义(definition)有什么区别写出 bool, int, float, 指针变量与”零值”比较的if语句图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键变量的声明(statement)和定义(definition)有什么不同定义给变量分配地址和存储空间 声明不分配转载 2015-10-06 23:59:07 · 402 阅读 · 0 评论 -
LeetCode_String_Easy
String EasyZigzag ConversionThe string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P原创 2015-10-08 09:33:57 · 280 阅读 · 0 评论 -
Effective C++ 学习笔记(一)
Effective C++ 学习笔记(一)总共54个条款,分为9个 部分 让自己习惯C++构造/析构/赋值运算资源管理设计与声明实现继承与面向对象模板与泛型编程定值new和delete杂项讨论让自己习惯C++C++由四部分组成C++仍是以C为基础:区块(blocks)、语句(statements)、预处理(preprocessor)、内置数据类型(build-in data原创 2016-03-02 14:35:47 · 219 阅读 · 0 评论 -
Effective C++ 学习笔记(二)
Effective C++ 学习笔记(二)总共54个条款,分为9个 部分 让自己习惯C++构造/析构/赋值运算资源管理设计与声明实现继承与面向对象模板与泛型编程定值new和delete杂项讨论设计与声明让接口容易被正确使用,不易被误用设计class犹如设计type 新type的对象应该如何被创建和销毁? 构造函数析构函数内存分配和释放函数operator new、o原创 2016-03-02 20:10:03 · 249 阅读 · 0 评论 -
面试题-和为 n 连续正数序列
1. 和为 n 连续正数序列题目:输入一个正数 n,输出所有和为 n连续正数序列。 例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5、4-6和 7-8。方法一:首先判断n最多能由几个连续数的和得到,假设最多由M个连续数和得到,那么M(M+1)/2=n这样很容易求得 M=(sqrt(8n+1)-1)/2。 由题义可知,n至少需要由两个连续数和得转载 2016-03-16 09:04:00 · 350 阅读 · 0 评论 -
读取Unicode格式TXT文件问题
问题:由于本来windows的txt后缀文件读取格式默认为ansi,但是为了在mfc中读取中文字符使用CStidFile打开文件直接读取会出现乱码文件转换:1.先将ansi格式文档另存为unicode文档2.打开文件模式添加CStdioFile::typeUnicode查询方便:为了方便查寻,所以将字符对照表写进txt文件,每次读完一次对照表就写入uno原创 2017-03-16 14:29:51 · 4261 阅读 · 0 评论