C++
cysisu
这个作者很懒,什么都没留下…
展开
-
leetcode C++ 23. 合并K个排序链表 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。
一、思路: 第一种:求出每一个链表的最小值,然后把这个节点放到合并的结果链表里面,这个链表指向next 第二种:优先级队列,头结点放到优先级队列里面,将top的那一个放到合并的链表里面,再讲top指向next,push到队列里面二、代码 第一种思路:class Solution {public: ListNode *insert(ListNo...原创 2020-04-16 16:09:06 · 433 阅读 · 0 评论 -
C++ leetcode 5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
一、思路 从第二个遍历到最后一个,然后每次遍历从中间往两边找,这样可以找到所有的回文串string longestPalindrome(string s) { int left; int right; int maxLength = 1; int maxLeft = 0; for (int i = 1; i < s.size(); i++) { left = ...原创 2020-04-12 02:02:33 · 962 阅读 · 0 评论 -
C++ leetcode 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
一、解题思路 用map可以加快查询速度,DFS深度搜索,DFS是一种很常见的对于多循环或者n!的好的搜索算法.二、代码:C++void init(map<char, string> &mapDigit){ mapDigit.insert(pair<char, string>('2', "abc")); mapDigit.insert...原创 2020-04-09 11:23:04 · 924 阅读 · 0 评论 -
C++ leetcode 面试题64. 求1+2+…+n
一、C++ int sumNums(int n) { int sum=0; for(int i=1;i<=n;i++) sum+=i; return sum; }原创 2020-04-08 13:41:38 · 222 阅读 · 0 评论 -
C++ leetcode14 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""
1.C++ bool static cmp(const string &a, const string &b) { return a.length() < b.length(); } string longestCommonPrefix(vector<string>& strs) { sort(...原创 2020-04-08 13:00:52 · 327 阅读 · 0 评论 -
java C++ 实现 leetcode 第三题 3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
一、C++实现 int lengthOfLongestSubstring(string s) { if (s.length() <= 1) return s.length(); int res = 1, start = 0, end = 0; for (; start < s.length(...原创 2020-04-04 19:39:33 · 618 阅读 · 0 评论 -
C++实现矩阵加减乘求转置
一、需求如下:二、代码如下:#include<vector>#include<iostream>using namespace std;class Matrix {public: vector<vector<int>> oneMatrix; Matrix transposing(); Matrix operator+(co...原创 2020-02-23 11:11:24 · 2062 阅读 · 0 评论 -
二叉树的前序中序后序递归查找,深度,广度搜索C++实现(VS2017)
一、图和运行结果如下二、代码如下:#include<iostream>#include<string>#include<fstream>#include<queue>#include<stack>#include<string.h>using namespace std;static int l...原创 2018-12-17 13:34:58 · 287 阅读 · 2 评论 -
图的邻接矩阵求图的出度,入度,可达矩阵,判断强连通,弱连通,单向连通(C++,vs2017)
一、介绍概念 1、邻接矩阵 将一个n个节点的图,转化成一个n*n的矩阵G,G[i][j]表示第i个节点到第j个节点的的权重。 对于上图邻接矩阵为: 2、度 度分为入度和出度:某个节点的入度就是可以通过一条边到达这个节点的节点个数,某个节点的出度就是可以通过一条边到达其它节点的节点个数 ...原创 2018-12-21 20:41:26 · 31051 阅读 · 1 评论 -
二叉搜索树C++(VS2017)
一、二叉查找树: 将小的数放到左儿子上,将大的数放到右儿子上,于是建树成功后,最左边的是最小的,最右边的是最大。中序遍历将会得到从小到大的排序顺序。这篇博客会介绍二叉搜索树的插入和删除,还有为了方便演示,会介绍到中序递归遍历。 给定数组8,5,20,3,6,15,7,得到的二叉搜索树为:中序遍历的结果:3,5,6,7,8,15,20,刚好是从小到大排序的。...原创 2018-12-22 09:41:04 · 5354 阅读 · 5 评论 -
黄金分割算法求函数的极值C++实现
黄金分割算法求极值迭代的最终判断是两次函数值的结果差是否很小,如果小,则说明该处函数的斜率很小,就是一个极值点。过程如下: 以下是代码://黄金分割法!/*================================================================题目:用黄金分割法求解3*x*x*x-2*x*x-16=0的根。=======...原创 2018-10-30 15:16:12 · 5391 阅读 · 1 评论 -
Yen 的k_shortest paths 算法的C++实现
具体介绍见:https://en.wikipedia.org/wiki/Yen%27s_algorithm还有具体步骤见:https://blog.csdn.net/sharpdew/article/details/446510?tdsourcetag=s_pctim_aiomsg我也不知道我对这个算法理解是否完全正确,但是大体的数据结构和逻辑是正确的,希望大家指点,后期我更理解了,会做相...原创 2018-10-26 10:45:45 · 1846 阅读 · 3 评论 -
用C++的类重载高精度加法,乘法和等于符号
运行结果:代码如下:#include<iostream>#include<algorithm>#include<string.h>#include<string>using namespace std;class BigInteger{public: string value; //重载为成员函...原创 2018-10-05 21:39:42 · 989 阅读 · 0 评论