算法经典
草戍无心
这个作者很懒,什么都没留下…
展开
-
排序算法
直接插入排序: 整个序列分为有序区和无序区,取第一个元素作为初始有序区,然后第二个开始,依次插入到有序区的合适位置,直到排好序。第一个for循环对从第二个开始的所有的数字遍历,嵌套的for循环是每次遍历数字时都取无序区的一个元素与有序区的元素比较,如果比有序区的要小则交换,直到合适的位置。 void InsertSort2(vector<int> &num) { ...原创 2018-05-02 23:16:25 · 124 阅读 · 0 评论 -
简单数据结构
链表与数组 查找单向链表中的倒数第k个节点。 查找单链表的中间节点,当节点总个数为偶数返回中间两个元素中的前者(后者) 反转单向链表(非递归实现) 反转单向链表(递归实现) 判断单向链表是否有环 判断两个单向链表是否相交 返回两个链表的第一个交点 用单链表实现栈,要求push和pop的时间复杂度为O(1) ::::查找单链表的倒数第K个节点: ...原创 2018-05-04 23:10:29 · 160 阅读 · 0 评论 -
Leetcode-和为K的子数组
描述: 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 #include<iostream> #include<vector> using namespace std; class Solution //子数组个数问题 { public: int subarraySum(vector<int>&原创 2018-05-26 20:00:03 · 1220 阅读 · 0 评论 -
Leetcode-最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度。 示例: 给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。 给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。 给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。 #include<...原创 2018-05-29 15:06:52 · 213 阅读 · 0 评论 -
Leetcode-整数反转
#include<iostream> using namespace std; /* 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 */ class Solution { public: int reverse(in...原创 2018-06-10 19:38:09 · 238 阅读 · 0 评论