算法
文章平均质量分 67
业余选手李主任
功不唐捐,玉汝于成
展开
-
BFS经典例题Isenbaev number
BFS——宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一。下面由一道经典例题来引出博主对于构造一个图以及在图中使用广度优先搜索的一些理解。原创 2016-05-17 00:36:33 · 677 阅读 · 0 评论 -
第十一周LeetCode算法题两道
第一道题目名称:78. Subsets题目难度:Medium题目描述:Given a set of distinct integers, nums, return all possible subsets (the power set).Note: The solution set must not contain duplicate subsets.For example, If nums =原创 2017-11-13 15:54:12 · 246 阅读 · 0 评论 -
第十三周LeetCode算法题
题目名称:92. Reverse Linked List II题目难度:Medium题目描述:Reverse a linked list from position m to n. Do it in-place and in one-pass.For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4,return 1->4->3->2->5->原创 2017-11-29 10:20:01 · 173 阅读 · 0 评论 -
第十二周LeetCode算法题三道
第一道题目名称:62. Unique Paths题目难度:Medium题目描述:A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below).The robot can only move either down or right at any point in time原创 2017-11-21 23:03:52 · 271 阅读 · 0 评论 -
第十六周LeetCode算法题两道
第一道题目名称:32. Longest Valid Parentheses题目难度:Hard题目描述:Given a string containing just the characters ( and ), find the length of the longest valid (well-formed) parentheses substring.For ((), the longest v原创 2017-12-20 16:13:13 · 199 阅读 · 0 评论 -
第十四周LeetCode算法题两道
第一道题目名称:96. Unique Binary Search Trees题目难度:Medium题目描述:Given n, how many structurally unique BST’s (binary search trees) that store values 1…n?For example, Given n = 3, there are a total of 5 unique BS原创 2017-12-05 22:02:31 · 188 阅读 · 0 评论 -
第十九周LeetCode算法题
题目名称:6. ZigZag Conversion题目难度:Medium题目描述:The 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原创 2018-01-21 18:28:11 · 312 阅读 · 0 评论 -
第二十周LeetCode算法题
题目名称:12. Integer to Roman题目难度:Medium题目描述:Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.题目分析:题目没有明确给出罗马数字的语法格式,于是只能自己去百度。如下原创 2018-01-21 19:38:21 · 201 阅读 · 0 评论 -
第十八周LeetCode算法题
题目名称:72. Edit Distance题目难度:Hard题目描述:Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the原创 2017-12-25 17:19:11 · 189 阅读 · 0 评论 -
第十七周 第八章课后题
8.8 In the EXACT 4SAT problem, the input is a set of clauses, each of which is a disjunction of exactly four literals, and such that each variable occurs at most once in each clause. The goal is to fi原创 2018-01-06 17:31:34 · 203 阅读 · 0 评论 -
第十五周LeetCode算法题两道
第一道题目名称:152. Maximum Product Subarray题目难度:Medium题目描述:Find the contiguous subarray within an array (containing at least one number) which has the largest product.For example, given the array [2原创 2017-12-15 10:38:48 · 199 阅读 · 0 评论 -
【排序算法】之基数排序
与前面介绍的几种排序方法不同,基数排序不比较关键字的大小。它是根据关键字中各位的值,通过对排序的n个元素进行若干趟“分配”与“收集”来实现排序的。例如,设待排序的线性表中每个元素的关键字都是d位的十进制正整数,在排序的过程中需要对该线性表进行d趟的分配和收集处理,每趟处理方法是相同的。在进行第j(j = 1, 2, …, d)趟处理时,首先按元素在线性表中的排列顺序,依次将每个元素插入到编号为原创 2016-08-10 10:41:50 · 747 阅读 · 0 评论 -
【排序算法】之归并排序
什么是归并排序归并排序是利用归并技术进行的一种排序方法。所谓归并,是指将两个或者两个以上的有序表合并成一个新的有序表。归并技术经常应用在顺序表、链表等存储结构的合并算法中。归并顺序的基本思想:将一个具有n个待排序记录的表看成是n个长度为1的有序子表,然后两两归并,得到[n/2]个长度为2的有序子表;再进行两两归并,得到[n/4]个长度为4的有序子表,如此重复,直至得到一个长度为n的有序表为原创 2016-08-09 23:03:07 · 351 阅读 · 0 评论 -
第九周LeetCode算法题两道
第一道题目名称:49. Group Anagrams题目难度:Medium题目描述:Given an array of strings, group anagrams together.For example, given: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”], Return:[ ["ate", "eat","tea"], ["nat",原创 2017-11-02 10:11:55 · 194 阅读 · 0 评论 -
第八周LeetCode算法题两道
第一道题目名称:17. Letter Combinations of a Phone Number题目难度:Medium题目描述:Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like o原创 2017-10-24 17:05:16 · 226 阅读 · 0 评论 -
第六周LeetCode算法题两道
第一道题目名称:5. Longest Palindromic Substring题目难度:Medium题目描述:Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output:原创 2017-10-13 22:24:45 · 198 阅读 · 0 评论 -
BFS经典例题:Maze迷宫
You are provided a maze(迷宫), and you need to program to find the least steps to walk from the start to the end.And you can only walk in four directions:up, down,left, right.There will only be 5 kinds o原创 2016-05-22 14:53:19 · 1196 阅读 · 0 评论 -
【数据结构】中缀表达式转后缀表达式
题目描述: First of all, you are required to complete a Linked stack in stack.cpp. Linked stack, as the name implies, is a linked structure by using pointer. Then, we can use this stack to convert infix ex原创 2016-05-22 14:43:07 · 614 阅读 · 0 评论 -
KMP算法详解
如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段。我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A=”I’m matrix67”,字符串B=”matrix”,我们就说B是A的子串。你可以委婉地问你的MM:“假如你要向你喜欢的人表转载 2016-10-10 11:30:43 · 290 阅读 · 0 评论 -
第三周LeetCode算法题两道
第一道题目名称:46. Permutations题目难度:Medium题目描述:Given a collection of distinct numbers, return all possible permutations.For example, [1,2,3] have the following permutations:[ [1,2,3], [1,3,2], [2,1,3],原创 2017-09-22 20:52:43 · 206 阅读 · 0 评论 -
第二周LeetCode算法题
题目名称:Generate Parentheses题目难度:Medium题目描述:Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[ "((()))",原创 2017-09-17 14:23:55 · 202 阅读 · 0 评论 -
第一周LeetCode算法题之一
题目名称:Two Sum题目难度:Easy题目描述:Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and原创 2017-09-10 20:28:15 · 222 阅读 · 0 评论 -
第一周LeetCode算法题之二
题目名称:Reverse Integer题目难度:Easy题目描述:Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Note: The input is assumed to be a 32-bit signed integer. Your function原创 2017-09-10 22:06:56 · 210 阅读 · 0 评论 -
DES算法
一、DES算法原理概述DES算法是这样的一个算法:它使用密钥和明文作为参数,经过一系列复杂的运算过程,输出明文对应的密文。首先要指出的是,明文是按照每64位一个分组来进行输入的。输出的对应密文也是64位。而密钥虽说也是64位,但是其中8位用来做奇偶校验位,故真正有用的只有56位。DES通过其巧妙的设计,使得加密和解密可以使用同一套密钥和同一个算法。 DES算法具体实现过程如下: 1、首先将输入的原创 2017-10-07 14:21:47 · 2097 阅读 · 0 评论 -
第四周LeetCode算法题两道
第一道题目名称:11. Container With Most Water题目难度:Medium题目描述:Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpo原创 2017-10-01 12:23:43 · 218 阅读 · 0 评论 -
第五周LeetCode算法题两道
第一道题目名称:4. Median of Two Sorted Arrays题目难度:Hard题目描述:There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity sh原创 2017-10-04 15:31:26 · 195 阅读 · 0 评论 -
第七周LeetCode算法题一道
题目名称:39. Combination Sum题目难度:Medium题目描述:Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.The sa原创 2017-10-20 19:29:16 · 263 阅读 · 0 评论 -
第十周LeetCode算法题两道
第一道题目名称:59. Spiral Matrix II题目难度:Medium题目描述:Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For example, Given n = 3,You should return the following matr原创 2017-11-07 19:57:19 · 286 阅读 · 0 评论 -
【排序算法】之堆排序
特别说明,这里的序列都是从1开始。1、什么是堆对于n个元素的序列{R1, … , Rn}当且仅当满足下列关系之一时,称之为堆:(1) Ri (2) Ri >= R2i+1 且 Ri >= R2i+2 (大根堆)2、什么是堆排序堆排序是一种树形选择排序,它的特点是在排序的过程中,将r[1..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间原创 2016-08-09 22:22:43 · 1855 阅读 · 0 评论