自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 树型dp和博弈型dp问题

1. 树型dp.package com.sata.dp;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class TreeDp { /** * 圣诞party * Description * * 圣诞节马上就要来了,为了带动节日氛围并营造一个难得的交(tu)

2021-03-27 18:56:30 177

原创 与整数边界相关的算法题

1.https://leetcode.com/problems/reverse-integer/7.Reverse IntegerGiven a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Output: 21Note:As..

2020-08-30 22:31:13 135

原创 raft协议学习笔记

raft协议是一种共识协议,用来管理log复制。它的效果等同于multi-Paxos,并且与它的效率相当。但是与paxos的结构完全不同。raft协议更好理解,并且更加容易实现一个实际的分布式系统。将共识协议划分成几个模块:leader选举,日志复制和安全。raft也包括一个改变集群membership的机制,采用overlapping majorities来保证安全。Introduction...

2019-05-18 22:23:59 644

原创 用DFS, DFS+memo,BFS解答Leetcode 854 K-Similar Strings

今天外面下雨,长江中下游地区特有的黄梅天让人身体很不舒服,不过在室内开着空调刷题倒是一件惬意的事情。今天做了两道题,分别是847和854两个题,这两道题其实属于同种类型的题目,解决办法也很类似,上一篇博客将847题的详细解题方法展示出来,现在趁热打铁,把854题的思路和代码也整理一下,加深对于DFS+memo和BFS的理解。题目描述:乍看这道题,其实首先想到的是用动态规划来解答这个题,后面我会补充...

2018-06-20 17:30:31 2051

原创 用DFS+memo和BFS分别解答 leetcode 847题:Shortest Path Visiting All Nodes

今天做leetcode的一道新题847题,顺便复习了下DFS和BFS这两种图论遍历方法,用其进行解题,加深了理解。这道题是非常经典的遍历题,直接用DFS会超时,并且无法通过所有的案例,用DFS+memo可以解决,BFS的效率更高,因为这道题本身就是求最短路径类的题目。先来看题目描述:二维数组给出了连通的无向图中每个节点的邻接节点列表,因此二维数组的行数是图中节点的个数。图中节点从0到n-1进行编号...

2018-06-20 15:34:11 1034

原创 单链表的基本操作

单链表的插入,反转,判断是否有环,深复制,以及带random指针的单链表的深拷贝#include<iostream>using namespace std;struct ListNode{ int val; ListNode *next; ListNode(int x) :val(x), next(NULL){}};//单向链表的反转,三个指针进行操作,很简单List...

2018-06-15 16:48:07 134

原创 双向链表的插入,删除,和mergesort。

双向链表的插入,删除,mergesort等。#include<iostream>using namespace std;struct BiListNode{ int val; BiListNode *pre; BiListNode *next; BiListNode(int x) :val(x), pre(NULL), next(NULL){}};//双向链表的插入...

2018-06-15 13:23:24 245

原创 二叉树的基本操作C++

本文用C++语言写了二叉树的基本操作,包括二叉树的四种遍历方式的递归和非递归写法,二叉查找树的插入,删除,构建,路径搜索,序列化和反序列化,是否镜像等操作,仅供参考。#include<iostream>#include<stack>#include<queue>#include<vector>#include<string>u...

2018-06-13 13:46:43 615

原创 动态规划类题目的解决之道

首先明确无法用动态规划的情况有哪些?第一种,无法提前知道拓扑排序,也就是无法知道填充顺序。第二种,没有重复计算,dependencygraph里node的入度都是1,没必要用dp。第三种,依赖关系构成环。知道拓扑关系,就知道填充数组或者矩阵的顺序是什么样的,到底是从上到下还是从右向左还是斜着对角线。动态规划的解决步骤:definition: dp[i] 表示是f(i) 是多少 => 存的是v...

2018-05-15 23:20:05 150

原创 深度解读DFS深度优先搜索

首先我们来看DFS问题的四个母题,所有的DFS问题都会由这四个母题演变过来的,DFS的特点是遍历所有的解或者路径,在做题之前,首先确定树的形状,总共多少层,每个节点有多少个分支,根据树的形状可以确定该算法的时间复杂度。问题一:求一个字符串的所有子串Given a set of characters represented by aString, return a list containing a...

2018-05-15 23:13:06 390

原创 常见的排序算法分析

1. 常见的排序方法和时间复杂度。首先明确下,什么是稳定排序,队列中存在两个相等的数字排序过程中,这两个数字的先后顺序如果不会发生变化,就叫做稳定排序,否则不稳定。几种排序的情况排序方法   平均情况          最好情况    最坏情况    辅助空间     稳定性冒泡排序   O(n^2)             O(n)        O(n^2)       O(1)       ...

2018-05-15 23:12:00 115

原创 从word ladder题目看DFS和BFS(下)

同理,我们来看下wordladder II,这个题难度更大,先来看看题目描述,Given two words (beginWord and endWord),and a dictionary's word list, find all shortest transformation sequence(s) frombeginWord to endWord, such that: Only one ...

2018-05-15 00:39:57 343

原创 从word ladder题目看DFS和BFS(上)

最近在刷题并整理DFS和BFS的思路,有两道题引起了我的注意,就是leetcode上的126和127两个word ladder题目。首先我们先来关注下这两道题的描述,127题只需要记录单词转换的最短路径长度就好,而126题需要记录所有最短转换路径。127题属于中等难度的题目,但是126题属于hard难度的题目。127题描述:Given two words (beginWord and endWor...

2018-05-15 00:23:09 686

原创 迷宫的最短路径问题,分别用DFS和BFS做

迷宫的最短路径一般来说用BFS做,但是也可以用DFS做,如果最优路径只有一条的话,穷尽所有的路径然后找出路径最短的就好了。不废话,先上BFS代码,这个代码中,用到了每一个位置的前驱节点,需要记住。然后逆着路径打印出来。#include<iostream>#include<vector>#include<queue>using namespace std;type...

2018-05-13 23:58:06 8953 1

原创 2019年网易游戏暑期实习生招聘笔试题(2018年4月27日)第一题解答

题目描述:足球比赛的积分排名,一共16支球队,分为4组,每组4支球队,小组赛实行单循环制,每组一共进行6场比赛,胜者积3分,负者0分,打成平局各得一分,积分相同看净胜球数,净胜球多的排名靠前,净胜球数相同看总进球数,总进球数多的排名靠前,总进球数也相同的球队,名称的字母序小的排在前面。输入描述:每个数据依次给出A,B,C,D四个小组的比赛信息。每6行表示一个小组的比赛信息,最开始的6行表示A组的6...

2018-04-28 22:15:20 1668 1

原创 买股票最佳时机 之 Leetcode的Best Time to Buy and Sell Stock III 问题解答

leetcode有一系列买股票最佳时机问题,其中最难的当属第三道Best Time to Buy and Sell Stock III ,问题描述为:Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximu...

2018-03-28 23:54:01 180

空空如也

空空如也

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

TA关注的人

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