算法
wdhQAQ
一枚深度学习小白,走在算法工程师的路上......
展开
-
最短路问题(单源+多源最短路问题)
最短路问题的几种情况及实现模板最短路的常见情况总结及算法朴素的Dijkstra算法:(注:若所有权重都相等,可以采取BFS宽度优先搜索来找最短路)给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出-1。输入格式第一行包含整数n和m。接下来m行每行包含三个整数x,y,z,表示点x和点y之间存在一...原创 2019-06-29 22:35:02 · 696 阅读 · 0 评论 -
用数组模拟栈+单调栈的几个例子(leetcode)
数组模拟栈和队列在c++中,stl中栈的常见操作为入栈、出栈、判断栈是否为空、返回栈的长度等,以下我们就用数组来模拟栈的常见操作。note:在实际算法题中行,用stl中的栈往往不如用数组模拟的快。#include <iostream>using namespace std;const int N=1000010;int stk[N];int tt;在这里我们创建了一个长...原创 2019-07-12 16:34:23 · 612 阅读 · 0 评论 -
剑指offer刷题day-1
剑指offer刷题day-1 (12道题)知识点梳理1.类似于二分从右上角开始找,复杂度o(n2)—>0(n+m) 就是o(n)级别的2.语法题,python里的replace函数3.vector(ans.rbegin(),ans.rend()) 返回一个反转数组4.重点:...原创 2019-07-23 23:03:23 · 167 阅读 · 0 评论 -
leetcode刷题(第一周)笔记--二分专题
leetcode --二分专题一.思路二.两套模板三.具体的题目整理了10道题目 题号如下:1.69-------2.35-------3.34-------4.74-------5.1536.33-------7.278-----8.162------9.287----10.275...原创 2019-07-22 01:32:46 · 203 阅读 · 0 评论 -
leetcode刷题(第二周)笔记--链表
链表专题链表专题(重点在于语法)链表的特点:只能从前往后遍历,只能找到这个节点的后面一个节点,无法找到这个节点的前驱节点tips:如果有的题可能涉及到改变或删除头节点,为了简化特判情况,可以自己建立一个虚拟头节点dummy节点,让它指向head(头节点)题型二:双指针扫描的1.找倒数第k个节点,当然可以扫一遍求出链表长度,再正着来扫,这样的话(需要遍历两边链表)双指针呢,先让快的走k步,...原创 2019-07-31 12:32:07 · 129 阅读 · 0 评论 -
c++ 两种经常用到的排序算法(快速排序+归并排序)
#include <iostream>using namespace std;const int N=1e6+10;int n;int f[N];int quick_sort(int f[],int l,int r,int k){ if (l >= r) return q[l];//特判一下,递归至最后,输出第k个最小的数 int x=f[l],i=l-...原创 2019-07-23 14:39:39 · 614 阅读 · 1 评论