算法
K__Ming小明同学
这个作者很懒,什么都没留下…
展开
-
牛客网剑指Offer(滑动窗口最大值)
问题描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...原创 2020-07-12 22:48:59 · 226 阅读 · 0 评论 -
牛客网剑指Offer(整数中1出现的次数)求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?
问题描述求出1~ 13的整数中1出现的次数,并算出100~ 1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。问题分析(转载自牛客网,用于参考学习,侵删)链接:https://www.nowcoder.com/questionTerminal/bd7f978302044eee894445原创 2020-06-30 22:58:10 · 329 阅读 · 0 评论 -
字符串模式匹配朴素暴力算法与KMP算法C++实现(附图精讲)
字符串模式匹配问题的两种算法问题描述给定文本串 t ,与模式串 p,要求从文本串 t 中找出第一次出现模式串 p 的位置。基本的匹配算法(暴力求解)思路文本串t从i=0开始,模式串p从就开始,依次比较,如图当出现不匹配时,j回溯首位,i++,再次依次按位比较。想法朴素,简单,但是每次相当于p串只向后移动了一位。暴力法代码(C++):#include <iostre...原创 2020-04-05 00:27:34 · 586 阅读 · 0 评论 -
字符串的全排列递归&非递归算法
字符串的全排列写在前面:本文章为根据七月算法的讲解后的学习笔记与心得。问题描述给定一个字符串S[0…N-1],设计算法枚举S的全排列。1.递归算法思路:举个栗子:求字符串s="1234"的全排列,有以下4类情况:1 -(234);表示以1开头,234做全排列,具体怎么做,先不管(以下皆用此表示方法)2-(134);表示以2开头,134做全排列3-(214);表示以3开头,214做...原创 2020-04-02 23:13:44 · 471 阅读 · 0 评论 -
字符串循环左移(右移)的2种算法(附图解析)
字符串循环左移算法问题描述:暴力法利用三次翻转巧妙实现问题描述:给定一个字符串s[0…n-1],要求将s的前k个字符移动到字符串s的尾部。举个栗子:将字符串“HelloWorld”的前5个字符移动到字符串的尾部,即要得到的新串为:“WorldHello”;即将字符串的循环左移k位顺便bb:循环左移k位,等价于循环右移n-k位(n位字符串长度)暴力法思路:不是循环左移k位吗,那么就简单粗...原创 2020-04-02 20:29:42 · 2954 阅读 · 0 评论