wylu

私信 关注
15wylu
码龄5年

小学生程序员

  • 179,737
    被访问量
  • 261
    原创文章
  • 19,511
    作者排名
  • 50
    粉丝数量
  • 于 2015-11-12 加入CSDN
获得成就
  • 获得127次点赞
  • 内容获得72次评论
  • 获得295次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #Python#数据分析#深度学习#算法#图像处理
TA的专栏
  • LeetCode
    37篇
  • 剑指offer
    1篇
  • 排序算法
    10篇
  • JVM学习笔记
  • AlgorithmAndDataStructure
    23篇
  • Projects
    2篇
  • DesignPattern
    1篇
  • Linux
    21篇
  • Java
    2篇
  • Leetcode
    53篇
  • NowCoder
    55篇
  • Android
    2篇
  • Python
    1篇
  • Hexo NexT
    14篇
  • SystemArchitecture
    1篇
  • HDOJ
    75篇
  • POJ
    5篇
  • Others
    8篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Error loading workspace: gopls requires a module at the root of your workspace.

vscode 升级 gopls 后出现以下提示:Error loading workspace: gopls requires a module at the root of your workspace. …将 gopls 的版本回退到 v0.5.5 可以解决。GO111MODULE=on go get golang.org/x/tools/gopls@v0.5.5
原创
1433阅读
1评论
1点赞
发布博客于 2 月前

打印二叉树

摘要https://wylu.github.io/posts/91f36751/本文将使用两种展示方式打印一颗二叉树,效果如下:8├── 12│ ├── 14│ │ ├── 20│ │ │ └── 15│ │ └── 13│ └── 10│ ├── 11│ └── 9└── 4 ├── 6 │ ...
原创
202阅读
0评论
0点赞
发布博客于 1 年前

Ubuntu下安装拳皇97

Ubuntu下安装拳皇97https://wylu.github.io/posts/7de10289/系统环境$ lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 18.04.3 LTSRelease: 18.04Codename: bionic安装 MAM...
原创
435阅读
0评论
0点赞
发布博客于 1 年前

Github+jsDelivr打造稳定快速、高效免费图床

摘要https://wylu.github.io/posts/e714e6f9/jsDelivr 是 ProspectOne 开发的公共开源 CDN(Content Delivery Network),专注于性能,可靠性和安全性。每个人均可免费使用,没有带宽限制。jsDelivr 是唯一由中国政府签发并具有有效 ICP 许可证的公共 CDN,并且直接在中国大陆拥有数百个地点。jsDelivr...
原创
698阅读
0评论
0点赞
发布博客于 1 年前

Hexo NexT 图片caption出现多次

摘要https://wylu.github.io/posts/7bd83fc5/在使用 Hexo + NexT 搭建个人博客的过程中一直有个问题没有解决,直到今天才找到了解决方法。问题就是在展示同一张图片中,caption出现了两次,如图:问题分析图片正下方的 image-caption 是 NexT 给 fancybox 加上的;而图片左下方的 figcaption 是因为使用了 he...
原创
220阅读
0评论
0点赞
发布博客于 1 年前

Git子模块

摘要https://wylu.github.io/posts/3504e7d9/Git 子模块(Git submodules)允许你将 git repo 保留为另一个 git repo 的子目录。Git 子模块只是在特定时间快照上对另一个 repo 的引用。Git 子模块使 Git repo 能够合并和跟踪外部代码的版本历史。添加子模块通过下列命令,可以将在一个已存在的 Git 仓库添加为...
原创
149阅读
0评论
0点赞
发布博客于 1 年前

Git在同一机器下配置多个github账号

摘要https://wylu.github.io/posts/e186bfe8/大多数人有时会需要在同一台机器上管理多个 github 账号,本文以管理两个 github 账号为例,记录了配置 git 的过程,方便下次遇到相同问题时,能节省处理时间。约定github 账号 1: wylu, 对应邮箱为 wylu@gmail.comgithub 账号 2: 15wylu, 对应邮箱为 1...
原创
210阅读
0评论
1点赞
发布博客于 1 年前

VMware Workstation 安装 Arch Linux 和 Deepin 桌面

如果你觉得本文对你有所帮助,点赞、关注就是对我最大的支持。Arch Linux 是通用 x86-64 GNU/Linux 发行版。Arch采用滚动升级模式,尽全力提供最新的稳定版软件。初始安装的 Arch 只是一个基本系统,随后用户可以根据自己的喜好安装需要的软件并配置成符合自己理想的系统。安装条件安装 Arch Linux,需要拥有一台 x64_86 兼容的 PC,其中至少有 512MB...
原创
410阅读
0评论
3点赞
发布博客于 2 年前

Git 常用命令

一些 git 常用命令总结。仓库管理Clone 远程仓库git clone <repo url>url 有两种:https://github.com/username/reponame.gitgit@github.com:username/reponame.gitClone 远程仓库指定分支git clone -b <remote branch name&...
原创
83阅读
0评论
0点赞
发布博客于 2 年前

Git 配置 SSH-Key

HTTPS URL 和 SSH URL在使用 git clone 项目时,可以使用仓库的 HTTPS URL 也可以 使用 SSH URLHTTPS URL,例如:https://github.com/<username>/<repo name>.gitSSH URL,例如:git@github.com:<username>/<rep...
原创
82阅读
0评论
0点赞
发布博客于 2 年前

vi / vim 简介及常用命令总结

Vim 是从 vi 发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。vi 简介vi 是 Unix 和 Linux 操作系统使用的终端文本编辑器,任何一台安装了 Unix 或 Linux 的机器都会提供这套软件,它是系统管理员手中的得力工具。vim 是 vi 的升级版,它不仅兼容 ...
原创
86阅读
0评论
0点赞
发布博客于 2 年前

提升工作效率的工具 tmux 简介与使用指南

tmux 是一个终端复用器(terminal multiplexer),它使你能够轻松地在多个终端程序之间来回切换,同时你还可以脱离它们(它们将在后台继续运行),然后在另一个终端窗口重新连接它们。tmux 提升工作效率的两个主要功能:窗口分割。在一个终端窗口中,可以随意进行水平或垂直分割,让你在一个窗口中运行多个独立的终端实例,这样你就无需打开多个终端窗口了。通过简单的组合键,你可以轻松...
原创
87阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(完结)Hexo 相关问题和优化

目标本文记录一些 Hexo 的难点问题及其解决方案。环境及版本声明本文基于以下环境及版本:hexo: 3.8.0hexo-cli: 1.1.0NexT: 7.1.0OS: Ubuntu 18.04 LTS x86_64禁止爬虫跟踪外链搜索引擎的蜘蛛来爬取文章内容时,如果你的文章中有外部链接,它就会到外链的站点去爬取,有可能再也不会回来了。为了告诉搜索引擎不要跟踪这些外链,需要在...
原创
195阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(十)NexT 第三方服务集成

目标本文将介绍一些第三方服务的集成与使用,如评论、搜索、SEO、持续集成等。环境及版本声明本文基于以下环境及版本:hexo: 3.8.0hexo-cli: 1.1.0NexT: 7.1.0OS: Ubuntu 18.04 LTS x86_64若主题版本不一致,下面的配置方法可能不适用。集成 Gitalk 评论系统参考zhujian hexo指南 Gitalk评论系统...
原创
266阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(九)NexT 主题进阶配置

目标本文将介绍一些针对 NexT 主题的个性化配置。环境及版本声明本文基于以下环境及版本:hexo: 3.8.0hexo-cli: 1.1.0NexT: 7.1.0OS: Ubuntu 18.04 LTS x86_64若主题版本不一致,下面的配置方法可能不适用。设置 RSSNexT 中 RSS 有三个设置选项,满足特定的使用场景:# false:禁用 RSS,不在页面上显示...
原创
734阅读
0评论
2点赞
发布博客于 2 年前

Hexo 搭建个人博客(八)NexT 侧边栏配置

目标本文将介绍一些关于 NexT 侧边栏的配置。环境及版本声明本文基于以下环境及版本:hexo: 3.8.0hexo-cli: 1.1.0NexT: 7.1.0OS: Ubuntu 18.04 LTS x86_64设置侧边栏sidebar: # 侧边栏位置, 可选值: left | right (仅适用于 Pisces | Gemini). position: left...
原创
3283阅读
0评论
3点赞
发布博客于 2 年前

Hexo 搭建个人博客(七)Hexo 配置 NexT 主题

环境及版本声明本文基于以下环境及版本:hexo: 3.8.0hexo-cli: 1.1.0NexT: 7.1.0OS: Ubuntu 18.04 LTS x86_64NexT 主题简介NexT is a high quality elegant Hexo theme.原项目已不再维护NexT文档Github目前使用的是其社区版本NexT文档Github描述约...
原创
585阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(六)Hexo 部署站点至 Github

Github Pages 简介Github Pages 官网GitHub Pages 是一种静态站点托管服务,旨在直接从 GitHub 存储库托管您的个人,组织或项目页面。创建 Github Pages 仓库转到 GitHub 并创建一个名为 username.github.io 的新仓库,其中 username 是您在 GitHub 上的用户名(或组织名称)。如果仓库名的第一部分(us...
原创
180阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(五)Hexo 资源文件夹

目标本文将介绍 Hexo 资源文件夹的使用,以及解决如何以相对路径的方式引用图片使其能够在主页和文章中正常显示。本文基于 hexo: 3.8.0资源文件资源(Asset)代表 source 文件夹中除了文章以外的所有文件,例如图片、CSS、JS 文件等。直接引用如果 Hexo 项目中只有少量图片,那最简单的方法就是将它们放在 source/images 文件夹中,然后通过以下方法引用:...
原创
886阅读
0评论
2点赞
发布博客于 2 年前

Hexo 搭建个人博客(四)Hexo 站点配置

目标本文将详细介绍 Hexo 站点配置文件中的各个配置项的含义与作用。本文基于 hexo: 3.8.0站点配置文件Hexo 工程的配置文件是 _config.yml# Hexo Configuration## Docs: https://hexo.io/docs/configuration.html## Source: https://github.com/hexojs/hexo/...
原创
182阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(三)Hexo 命令与服务器

目标介绍 Hexo 常用命令的作用。本文基于 hexo: 3.8.0命令常用命令命令简写描述hexo init [folder]新建网站hexo new [layout] <title>新建文章hexo generatehexo g生成静态文件hexo publish [layout] <filename>发...
原创
78阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(二)Hexo 基本操作

目标介绍使用 Hexo 建站和进行本地测试的流程,以及模板的配置、自定义模板、新建文章等。本文基于 hexo: 3.8.0建站hexo init <folder>cd <folder>npm install$ hexo init blogINFO Cloning hexo-starter to ~/VScode/blogCloning into '/h...
原创
106阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(一)Hexo 简介与安装

Hexo简介Hexo 是一个快速、简洁且高效的博客框架,基于 Node.js 实现。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内即可利用靓丽的主题生成静态网页。安装安装前提安装 Hexo 前需要安装 Git 和 Node.js安装GitLinux (Ubuntu, Debian): sudo apt-get install git-coreLinux (F...
原创
135阅读
0评论
0点赞
发布博客于 2 年前

Hexo 搭建个人博客(零)NexT 主题

前言作为一名程序员,要学习的内容有很多,通过写博客能帮助自己加深对所学知识的理解和记忆,还能够将我们解决问题的经验记录下来,这样当我们再次面临同样的问题时,能快速的回忆起解决的方法和步骤,同时你所分享的经验还可能帮助到其他人。博客可以认为是我们对自己学习过程中的总结和思考,这将有助于我们更加快速的成长。目标读者如果你已经厌倦了各种博客网站广告的视觉干扰,又或者你想要有一个地方可以记录自己的学...
原创
119阅读
0评论
0点赞
发布博客于 2 年前

Hexo NexT 部署 Github Page

就喜欢瞎折腾,终于我也入坑了 …Github Pages: wylu.github.ioBlog Framework: HexoTheme: NexTCI: Travis CITutorial: Hexo Guide
原创
210阅读
0评论
1点赞
发布博客于 2 年前

lay-verify 无效

lay-verify 无效使用lay-verify有两个需要注意的地方:form标签需要添加 class="layui-form"提交按钮需要添加 lay-submit=""如:<form action="#" method="post" class="layui-form"> <input id="login-username" type="text" n...
原创
6926阅读
6评论
4点赞
发布博客于 2 年前

牛客网 2018校招真题 百度 双素数

Description牛客网 2018校招真题 双素数Solving Ideas欧拉线性筛法求素数Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author wylu */public class Main {...
原创
116阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 百度 正三角形的顶点位置

Description牛客网 2018校招真题 正三角形的顶点位置Solving Ideasdouble dx = x2 - x1, dy = y2 - y1;考虑dx != 0 &amp;&amp; dy != 0的情况:AE 垂直于 OE,当斜率 k &lt; 0 时,有其中,∵∠OAE=∠BCD∴sin∠OAE=sin∠BCD=BDBC\because \angle OAE =...
原创
116阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 关灯游戏

Description牛客网 2018校招真题 关灯游戏Solving Ideas只与最右边的数字有关,如果最右边的数字为1,则Alice赢,否则Bob赢假设最右边的数字为1因为Alice是先手,Alice每一次操作都会使其变为0,而Bob每一次操作都使其变为1,又因为所有的灯全部熄灭才能赢,所以只有能让最右边数字变为0的玩家才能赢简单地说,在双人对弈的情况下,最右为1先手必胜,最右为...
原创
114阅读
0评论
1点赞
发布博客于 2 年前

牛客网 2018校招真题 贝壳找房 倒水

Description牛客网 2018校招真题 倒水Solving Ideas问题可转化为将m个相同物体放入n个相同的容器中有多少种放法Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author wylu */p...
原创
215阅读
0评论
1点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 魔法表

Description牛客网 2018校招真题 魔法表Solving Ideas求最小夹角v,如果 n1 顺时针转 v 到达 n2,则顺时针转,否则逆时针转Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author ...
原创
55阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 抽牌

Description牛客网 2018校招真题 抽牌Solving IdeasStatedp[i][j]:从a[i]到a[j]这些数小明的得分期望Initial Statedp[i][i] = a[i]dp[i][i+1] = p * a[i] + (1-p) * a[i+1] (i &lt; n - 1)State Transitiondp[i][j]=p∗(q∗dp[i+2]...
原创
171阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 双袋购物

Description牛客网 2018校招真题 双袋购物Solving Ideas01背包Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author wylu */public class Main { ...
原创
210阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 数字构造

Description牛客网 2018校招真题 数字构造Solving Ideas数位越多,数字越多,所以结果一定是形如"1212…"或"2121…"的序列Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author ...
原创
60阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 硬币兑换

Description牛客网 2018校招真题 硬币兑换Solving Ideas策略为从小到大,每种面值的硬币用一个,剩下的全部用面值为1的硬币填充Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author wyl...
原创
75阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 序列操作

Description牛客网 2018校招真题 序列操作Solving IdeasStackSolutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;/** * @author wyl...
原创
146阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 重要节点

Description牛客网 2018校招真题 重要节点Solving IdeasBFS创建一个标记数组arrive,arrive[i][j]为true表示从i可以到达j, false则不能Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader...
原创
62阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 病毒传播

Description牛客网 2018校招真题 病毒传播Solving Ideas以每个被感染的点为起点,使用bfs进行模拟,得到t时间的传染结果,然后将其与真实结果对比Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import ja...
原创
137阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 公交车

Description牛客网 2018校招真题 公交车Solving Ideas建图:将公交车抽象成一个站点,将公交车与其可达站点的关系作为无向图的边,边集只记录公交车与站点的关系。求最小花费:从起点开始使用bfs算法求最短距离,因为设立了抽象点,起点距离又设为1,所以每个点的距离是实际距离的两倍加一,例如起点为1,n = 5,由bfs得dist[n] = 5,但实际花费为2So...
原创
225阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 71. Simplify Path

Descriptionhttps://leetcode.com/problems/simplify-path/给定一个Unix风格的绝对路径,简化之Solving Ideas栈的应用遇到./,忽略遇到../,出栈遇到文件名(如.a,b,'abc’等等,其中以.为开头的为隐藏文件),入栈时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Solution...
原创
47阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 搜狐 Kolakoski序列

Description牛客网 2018校招真题 Kolakoski 序列Solving Ideasp为给定数组的下标q为生成序列的下标Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList...
原创
74阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 149. Max Points on a Line

Descriptionhttps://leetcode.com/problems/max-points-on-a-line/给定平面内n个点,求同一直线上的点的最大个数。Solving Ideashttps://blog.csdn.net/qq_32767041/article/details/88386459https://leetcode.com/problems/max-point...
原创
56阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 吉比特 直线上的点

Description牛客网 2018校招真题 直线上的点Solving Ideashttps://leetcode.com/problems/max-points-on-a-line/https://leetcode.com/problems/max-points-on-a-line/discuss/47113/A-java-solution-with-noteshttps://www...
原创
440阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 搜狐 包裹运输

Description牛客网 2018校招真题 包裹运输Solving Ideas对于 6 × 6 的产品,每一个都需要一个包裹,而且无法填充对于 5 × 5 的产品, 每一个都需要一个包裹,且包裹余下空间只能填充 1 × 1 的产品对于 4 × 4 的产品, 每一个都需要一个包裹,余下空间能填充 2 × 2 或 1 × 1 的产品,根据贪心的思想,优先并尽可能地填充 size 更大的...
原创
109阅读
0评论
0点赞
发布博客于 2 年前

应用密码学总结

文章目录应用密码学总结1 概述1.1 信息安全的三个基本的目标1.2 数据的安全基于密钥的保密,而不是算法的保密1.3 公钥密码使得无密钥传输的保密通信成为可能1.4 密码学的基本概念1.5 密码算法分类-I1.6 密码算法分类-II2 数论基础2.1 互素2.2 模运算2.3 逆元3 古典密码3.1 单表密码体制3.2 多表密码体制4 安全电子邮件方案4.1 PGP产生的背景4.2 PGP提供了...
原创
3775阅读
3评论
5点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 幸运子序列

Description牛客网 2018校招真题 幸运子序列Solving Ideas遍历所有元素作为连续子序列最大值和次大值的情况Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;...
原创
237阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 最后一位

Description牛客网 2018校招真题 最后一位Solving Ideas二分查找Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author wylu */public class Main { ...
原创
123阅读
0评论
0点赞
发布博客于 2 年前

基数排序 Radix Sort

文章目录基数排序1. 基本原理2. 算法步骤3. 动画演示4. 参考实现5. 复杂度分析6. References基数排序1. 基本原理将所有待比较正整数统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始进行基数为10的计数排序,一直到最高位计数排序完后,数列就变成一个有序序列(利用了计数排序的稳定性)。2. 算法步骤将所有待比较数值(正整数)统一为同样的数位长度,数位较短...
原创
542阅读
0评论
2点赞
发布博客于 2 年前

桶排序 Bucket Sort

文章目录桶排序1. 基本原理2. 算法步骤3. 动画演示4. 参考实现5. 复杂度分析6. References桶排序1. 基本原理桶排序也叫箱排序。工作原理是将数组元素映射到有限数量个桶里,利用计数排序可以定位桶的边界,每个桶再各自进行桶内排序(使用其它排序算法或以递归方式继续使用桶排序)。2. 算法步骤设置固定数量的空桶把数据放到对应的桶中对每个不为空的桶中数据进行排序拼接不...
原创
206阅读
0评论
1点赞
发布博客于 2 年前

计数排序 Counting Sort

文章目录计数排序1. 基本原理2. 算法步骤3. 动画演示4. 参考实现5. 复杂度分析6. References计数排序1. 基本原理使用一个新的数组记录每个元素出现的次数,然后直接遍历输出这个数组里面的每一个大于0的元素的下标值,下标值输出的次数为对应的计数。2. 算法步骤花O(n)的时间扫描一下整个序列 arr,获取最小值 min 和最大值 max开辟一块新的空间创建新的数组 ...
原创
246阅读
0评论
1点赞
发布博客于 2 年前

堆排序 Heap Sort

文章目录堆排序1. 基本原理2. 算法步骤3. 算法图解3.1 构建二叉堆3.2 堆排序过程4. 动画演示5. 参考实现6. 复杂度分析7. References堆排序1. 基本原理传送门 堆、堆排序、优先队列2. 算法步骤由输入的无序数组构造一个最大堆,作为初始的无序区把堆顶元素(最大值)和堆尾元素互换把堆(无序区)的尺寸缩小1,并调用sinking函数,目的是把新的数组顶端数据...
原创
77阅读
0评论
1点赞
发布博客于 2 年前

快速排序 Quick Sort

文章目录快速排序1. 基本原理2. 算法步骤3. 算法图解4. 动画演示5. 参考实现6. 复杂度分析7. References快速排序1. 基本原理快速排序是图灵奖得主 C. R. A. Hoare 于 1960 年提出的一种划分交换排序,它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。分治法的基本思想是:将原问题分解为若干个规模更小但结构与...
原创
191阅读
0评论
1点赞
发布博客于 2 年前

归并排序 Merge Sort

文章目录归并排序1. 基本原理2. 算法步骤3. 算法图解4. 动画演示5. 参考实现6. 复杂度分析7. References归并排序1. 基本原理归并排序算法是分治策略实现对n个元素进行排序的算法。其基本思想是:将待排序元素分成大小大致相同的2个子集合,分别对2个子集合进行排序,最终将排好序的子集合合并成为所要求的排好序的集合。2. 算法步骤申请空间,使其大小为两个已经排序序列之...
原创
173阅读
0评论
1点赞
发布博客于 2 年前

希尔排序 Shell Sort

文章目录希尔排序1. 基本原理2. 算法步骤3. 算法图解4. 参考实现5. 复杂度分析6. References希尔排序1. 基本原理希尔排序,也称缩小增量排序,是插入排序的一种更高效的改进版本,是不稳定的排序算法。希尔排序是基于插入排序的以下两点性质而提出的改进方法:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率但插入排序一般来说是低效的,因为插入排序每...
原创
203阅读
0评论
0点赞
发布博客于 2 年前

插入排序 Insert Sort

文章目录插入排序1. 基本原理2. 算法步骤3. 动画演示4. 参考实现5. 复杂度分析6. References插入排序1. 基本原理每步将一个待排序的元素,将其插入前面已排好序的部分中,直到全部插入完为止。2. 算法步骤将待排序序列第一个元素看做已排序序列,把第二个元素到最后一个元素当成是未排序序列从未排序序列中取出下一个元素记为 a,在已排序的序列中从后向前扫描如果该元素(已...
原创
84阅读
0评论
0点赞
发布博客于 2 年前

选择排序 Select Sort

文章目录选择排序1. 基本原理2. 算法步骤3. 动画演示4. 参考实现5. 复杂度分析6. References选择排序1. 基本原理初始时在序列中找到最小(大)元素,放到序列的起始(末尾)位置作为已排序序列;然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的尾部(首部)。以此类推,直到所有元素均排序完毕。2. 算法步骤首先在未排序序列中找到最小(大)元素,存放到排序...
原创
82阅读
0评论
0点赞
发布博客于 2 年前

冒泡排序 Bubble Sort

文章目录冒泡排序1. 基本原理2. 算法步骤3. 动画演示4. 参考实现5. 复杂度分析6. References冒泡排序1. 基本原理依次比较相邻的两个元素,如果相邻的两个元素的顺序是错误的,则将它们交换,直至没有元素需要交换,排序完成。在实现上有两种方法:每一轮让未排序的最大元素交换到正确位置,以下称之为"最大冒泡"每一轮让未排序的最小元素交换到正确位置,以下称之为"最小冒泡"...
原创
153阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 无聊的牛牛和羊羊

Description牛客网 2018校招真题 无聊的牛牛和羊羊Solving Ideas递推f(n,m)f(n,m)f(n,m)表示nnn个无聊,mmm个有聊变为全部无聊期望时间状态f(n,m)f(n,m)f(n,m)的下一个状态可能是f(n,m)f(n, m)f(n,m),f(n+1,m−1)f(n+1, m-1)f(n+1,m−1),f(n+2,m−2)f(n+2, m-2)f(n...
原创
328阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 网易 堆棋子

Description牛客网 2018校招真题 堆棋子Solving Ideas枚举所有棋子到每个可能的点(x,y)的曼哈顿距离,然后维护排序后的前k个点的最小值。例如:若有棋子(x1,y1)和(x2,y2),那么所有可能的点就是(x1,y1),(x1,y2),(x2,y1),(x2,y2),也即最优情况有可能不出现在任意一个原棋子的点上。Time complexity : O(n3lo...
原创
129阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 滴滴出行 寻找丑数

Description牛客网 2018校招真题 寻找丑数Solving Ideas参考《剑指offer》丑数Time complexity : O(n)O(n)O(n)Space complexity : O(n)O(n)O(n)Solutionimport java.io.BufferedReader;import java.io.IOException;import java...
原创
233阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 292. Nim Game

Descriptionhttps://leetcode.com/problems/nim-game/有一堆石子,两个玩家,玩家轮流从石堆中取出至少一个石子,至多全部石子,当轮到某个玩家而此时玩家没有石子可以取时,则判定为负。你为先手的情况下,判断你的胜负,默认玩家均会选择最优策略。Solving Ideashttps://leetcode.com/problems/nim-game/so...
原创
59阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 招商银行信用卡 不想出差的HR

Description牛客网 2018校招真题 不想出差的HRSolving Ideas详情请参考 Nim游戏Nim游戏是经典的公平组合游戏(ICG),满足以下条件的游戏是ICG:有两名选手;两名选手交替对游戏进行移动(move),每次移动选手可以在有限的合法移动集合中任选一种进行移动;对于游戏的任何一种可能的局面(position),合法的移动集合只取决于这个局面本身,不取决于轮...
原创
194阅读
1评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 招商银行信用卡 小招喵跑步

Description牛客网 2018校招真题 小招喵跑步Solving Ideas逆向思维,计算从终点到原点需要的最少步数当x为偶数时,则x /= 2当x为奇数时,如果(x + 1) / 2为偶数,则x++;如果(x - 1) / 2为偶数,则x–;特别地,如x &lt;= 3,则x–对于任意的x,x属于整数,(x + 1) / 2为偶数 和 (x - 1) / 2为偶数 有且只有...
原创
93阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 吉比特 最大差值

Description牛客网 2018校招真题 最大差值Solving Ideas如果数组长度为n,则使用n+1个桶,每个桶能放入数的范围固定,将数组中的数依次放入桶中,最终最大差值出现在相邻两个不为空的桶之间。因为第一个桶会被放入所有元素中的最小值,最后一个桶会被放入所有元素中的最大值,也即第一个桶和最后一个桶必定不为空,那么空桶一定不会出现在首尾。例如:有数组10,25,34,43,...
原创
123阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 招商银行信用卡 整数成绩最大化

Description牛客网 2018校招真题 整数成绩最大化Solving Ideas当n&gt;4时,最大受益为尽可能拆分出更多的数字3,最后一个不足3的,若其为1则分给其中一个3,得到4,若其为2则乘上去。为什么不是最大收益不是4以上呢?例如5,5可分解为2*3,收益能通过继续分解得到增加。Time complexity : O(logn)O(logn)O(logn)Space...
原创
251阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 京东 括号匹配方案

Description牛客网 2018校招真题 括号匹配方案Solving Ideas遍历字符串,如果遇到'(',将其压入栈中;如果遇到')',则栈中第一个左括号对应的可选的右括号数为栈的大小;继续这样的操作,连乘所有左括号可选的方案数即为最终结果。这样做为什么是对的,可以这样理解:假设有合法括号序列"(((()())))()",因为每次只能移除序列中第一个左括号,相应也要移除一个右括号...
原创
166阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 拼多多 拼多多周年庆 Anniversary

Description牛客网 2018校招真题 AnniversarySolving Ideasdfs搜索所有可能路径的长度,路径包括选中一个孩子的或选中二个孩子的。Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java...
原创
323阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 搜狐 回文数组

Description牛客网 2018校招真题 回文数组Solving Ideas方法一:问题可以转化为求回文子序列的最大和(类似于求 最长回文子序列 ),则最终最优解为2 * sum - dp[0][a.length - 1],sum为数组a所有元素之和。回文子序列之和变大,能使为数组成为回文而补充的数字变小。State:dp[i][j]: 表示a[i],...,a[j]中的回文子序...
原创
138阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 摩拜 排序次数

Description牛客网 2018校招真题 排序次数Solving Ideas将数组a的元素拷贝到数组b对数组b进行排序对比数组b,统计数组a中已排序的元素个数如:a = [2, 11, 5, 13, 16, 9, 10]b = [2, 5, 9, 10, 11, 13, 16]这时a中只有2, 5, 9, 10按照b中由小到大排序Time complexity : O(...
原创
492阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 百度 最大子序列

Description牛客网 2018校招真题 最大子序列Solving Ideas从后往前找出最长的非严格递增的序列Time complexity : O(n)O(n)O(n)Space complexity : O(n)O(n)O(n)Solutionimport java.io.BufferedReader;import java.io.IOException;import...
原创
63阅读
1评论
1点赞
发布博客于 2 年前

牛客网 2018校招真题 百度 完成括号匹配

Description牛客网 2018校招真题 完成括号匹配Solving Ideas参考 缺失的括号Time complexity : O(n)O(n)O(n)Space complexity : O(1)O(1)O(1)Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io...
原创
71阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 去哪儿 带权的DAG节点排序

Description牛客网 2018校招真题 带权的DAG节点排序Solving Ideas拓扑排序Time complexity : O(n)O(n)O(n)Space complexity : O(n+e)O(n+e)O(n+e)Solutionimport java.io.BufferedReader;import java.io.IOException;import j...
原创
67阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 迅雷 整数求和

Description牛客网 2018校招真题 整数求和Solving Ideas动态规划State:dp[i][j]: 在[1, …, i]中取若干个整数求和等于j的组合的个数Initial State:dp[0][j] = 0; (1&lt;=j&lt;=m)dp[i][0] = 1; (0&lt;=i&lt;=n)State Transition:if (j - ...
原创
71阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 红和绿

Description牛客网 2018校招真题 红和绿Solving Ideas题目没有要求涂染后’R’、'G’的数量要与涂染前一致,如"GGGGRRR"的最优解为"GGGGGGG"以每个字符为中点,左边的涂成R,右边的涂成G,得到涂染个数,在多个涂染个数中取最小的。Time complexity : O(n2)O(n^2)O(n2)Space complexity : O(1)O(1...
原创
219阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美丽联合 计算一年中的第几天

Description牛客网 2018校招真题 计算一年中的第几天Solving Ideas闰年判断有两个条件,只要满足其一即可:能被4整除但不能被100整除能被400整除Time complexity : O(1)O(1)O(1)Space complexity : O(1)O(1)O(1)Solutionimport java.io.BufferedReader;imp...
原创
181阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 括号匹配深度

Description牛客网 2018校招真题 括号匹配深度Solving Ideas与 缺失的括号 类似Time complexity : O(n)O(n)O(n)Space complexity : O(1)O(1)O(1)Solutionimport java.io.BufferedReader;import java.io.IOException;import java....
原创
84阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 缺失的括号

Description牛客网 2018校招真题 缺失的括号Solving Ideas使用辅助栈当遇到'('时,将其压入栈中,因为需要一个')'才能使括号字符串完整,所以count++当遇到')'时,如果栈空,说明需要添加一个(才能使括号字符串完整,所以count++;如果栈不空,说明栈中的'('有匹配的')',所以count–;Time complexity : O(n)O(n)O...
原创
90阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 拼凑正方形

Description牛客网 2018校招真题 拼凑正方形Solving Ideas为了四根木棍长度变成一样同时支付的硬币最少,我们不妨先将长度排序,假设排序后在数轴上的位置如下:a-----b-----c-----d那么其实 四根木棍最后长度都变成[b, …, c] (b &amp;amp;lt;= c)中的任意一个值都能得到最优解 。假设最优解为x,通过分析x在数轴上的位置可以得到上面的结论:...
原创
337阅读
0评论
2点赞
发布博客于 2 年前

牛客网 2018校招真题 盛大游戏 找出最接近的对称数字

Description牛客网 2018校招真题 找出最接近的对称数字Solving Ideas为了使对称数字最接近,应该尽量保持高位不变,然后修改低位数字从而达到对称。当输入数字已经对称时,选择修改中心的数字,这样能保证更高位不变,从而达到最近的目的,另外需要注意中心数字是否大于0的情况如:202变为212而不是191,343变为333而不是353(虽然两者到343的距离一样,但题目要...
原创
246阅读
0评论
1点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 DNA序列

Description牛客网 2018校招真题 DNA序列题目描述真的令人费解Solving Ideas题目中所说的DNA片段有:长度为1的DNA片段:‘A’, ‘C’, ‘G’, ‘T’, 共Math.pow(4, 1)=4个长度为2的DNA片段:‘AA’, ‘CC’, ‘GG’, ‘TT’, ‘AC’, ‘CA’, ‘AG’,‘GA’, ‘AT’, ‘TA’,‘CG’, ‘GC’,...
原创
181阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 字符串价值

Description牛客网 2018校招真题 字符串价值Solving Ideas要使一组数字的平方和最小,只需每次对最大数减1Time complexity : O(k)O(k)O(k)Space complexity : O(1)O(1)O(1)Solutionimport java.io.BufferedReader;import java.io.IOException;...
原创
81阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 网易 小易喜欢的数列

Description牛客网 2018校招真题 小易喜欢的数列Solving Ideas动态规划:State:dp[i][j]: 表示长度为i且以数字j为结尾的合法数列的数量Initial State:dp[1][m] = 1; (1&lt;=m&lt;=k)State Transition:dp[i][j] += dp[i - 1][m] (1&lt;=m&lt;=k,且(m,...
原创
138阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 爱奇艺 排序

Description牛客网 2018校招真题 排序Solving Ideas将数组排序与原数组进行比较,统计出现对应位置数字不同的次数,即为需要移动的最少次数。因为当一个元素不在它原来所在的位置,这个元素就是被移动了的,如原序列[3, 1],排序后变为[1, 3],需要移动两次,将1往前移,将3往后移(一次移动的步长无限制)。Time complexity : O(n∗log(n))O...
原创
181阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 网易 操作序列

Description牛客网 2018校招真题 操作序列Solving Ideas规律题,对于长度为n的序列a如果 n 为偶数,则结果为a[n-1], a[n-3], a[n-5], ...,a[3], a[1], a[0], a[2], a[4], ..., a[n - 2]如果 n 为奇数,则结果为a[n-1], a[n-3], a[n-5], ..., a[2], a[0],...
原创
182阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 网易 彩色的砖块

Description牛客网 2018校招真题 彩色的砖块Solving Ideas如果只有1个不同的字母,有1种排列方式满足条件如果有2个不同的字母,有2种排序方式满足条件如果有超过2个不同字母,无论如何排序都无法满足条件Time complexity : O(n)Space complexity : O(1)Solutionimport java.io.BufferedR...
原创
74阅读
3评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 网易 交错01串

Description牛客网 2018校招真题 交错01串Solving Ideas动态规划:State:dp[i]: 以s[i]为结尾的交错01串的最大长度Initial State:dp[0] = 1State Transition:dp[i] = (s[i - 1] != s[i]) ? dp[i - 1] + 1 : 1; (i &amp;gt;= 1)Time complex...
原创
85阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 网易 疯狂队列

Description牛客网 2018校招真题 疯狂队列Solving Ideas贪心,数组排序后,交叉地将最小元素和最大元素插入到疯狂队列中,使疯狂队列向两边扩展。Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java...
原创
124阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 拼多多 迷宫寻路

Description牛客网 2018校招真题 迷宫寻路Solving Ideasnode.keys的二进制表示代表钥匙的拾取状态,例如:(以下的数字为二进制,省略前导0,该类型为int,完整位数为32)初始时,没有拾取任何钥匙,node.keys = 0假设现在从node移动到node2,且node2位置有钥匙'a',通过更新 node2.keys = node.keys | (1 ...
原创
852阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 95. Unique Binary Search Trees II

Descriptionhttps://leetcode.com/problems/unique-binary-search-trees-ii/给定n,生成所有结构上唯一的二叉搜索树,并返回所有这些树的root。Solving Ideas与Unique Binary Search Trees类似,不同的是,这里需要构造出所有结构上唯一的BST实现起来比较简单就是使用 递归 的方法,遍历所有...
原创
87阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 67. Add Binary

Descriptionhttps://leetcode.com/problems/add-binary/二进制字符串表示求和Solving Ideas时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Solutionclass Solution { public String addBinary(String a, String b) { ...
原创
40阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 70. Climbing Stairs

Descriptionhttps://leetcode.com/problems/climbing-stairs/爬楼梯,每次只能爬1步或2步,问到台阶n有多少种爬法Solving Ideas斐波那契时间复杂度:O(n)O(n)O(n)空间复杂度:O(1)O(1)O(1)Solutionclass Solution { public int climbStairs(int ...
原创
34阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 66. Plus One

Descriptionhttps://leetcode.com/problems/plus-one/给定表示非负整数的非空数字数组,返回加上1的结果的数组表示。Solving Ideas时间复杂度:O(n)O(n)O(n)空间复杂度:O(n)O(n)O(n)Solutionclass Solution { public int[] plusOne(int[] digits) ...
原创
36阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 69. Sqrt(x)

Descriptionhttps://leetcode.com/problems/sqrtx/实现函数int sqrt(int x)Solving Ideas二分查找时间复杂度:O(log(x))O(log(x))O(log(x))空间复杂度:O(1)O(1)O(1)Solutionclass Solution { public int mySqrt(int x) { ...
原创
46阅读
0评论
0点赞
发布博客于 2 年前

LeetCoe 56. Merge Intervals

Descriptionhttps://leetcode.com/problems/merge-intervals/合并区间Solving Ideashttps://leetcode.com/problems/merge-intervals/solution/按区间下限的大小对区间进行排序,然后再对区间进行合并时间复杂度:O(nlog(n))O(nlog(n))O(nlog(n))空间...
原创
43阅读
0评论
0点赞
发布博客于 2 年前

LeetCode 53. Maximum Subarray

Descriptionhttps://leetcode.com/problems/maximum-subarray/求连续子数组的最大和Solving Ideas动态规划:State:dp[i]: 以a[i]为结尾的子数组的最大和Initial State:dp[0] = a[0]State Transition:dp[i] = max(a[i], dp[i - 1] +...
原创
35阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 三七互娱 换乘

Description牛客网 2018校招真题 换乘Solving Ideas单源最短路Bellman-Ford算法Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import ja...
原创
339阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 字节跳动 选区间

Description牛客网 2018校招真题 选区间Solving Ideasn的范围[1,500000]太大,直接dp会超时因为区间计算值都是由 区间最小值*区间和 得到的,所以在给定区间最小值的情况下,最优的情况一定是这个区间尽可能的扩展,直至区间的最小值不满足给定的最小值。(扩展的过程因为满足 区间最小值 &gt;= 给定区间最小值 的情况下,区间和一直增大,所以最终结果也增大)...
原创
433阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 美团点评 K的倍数

Description牛客网 2018校招真题 K的倍数Solving Ideassum[i + 1]: 表示序列p[0]...p[i]的和从长度最大的子串开始判断,当剩余需要判断子串长度不可能大于已得最优解时,终止循环。Solutionimport java.io.BufferedReader;import java.io.IOException;import java.io.I...
原创
147阅读
0评论
0点赞
发布博客于 2 年前

牛客网 2018校招真题 网易 骰子游戏

Description牛客网 2018校招真题 骰子游戏Solving Ideas参考《剑指offer》n个骰子的点数考虑用两个数组来存储骰子点数的每一个总数出现的次数。在一次循环中,第一个数组中的第n个数字表示骰子和为n出现的次数。在下一循环中,我们加上一个新的骰子,此时和为n的骰子出现的次数等于上一次循环中骰子点数和为n-1、n-2、n-3、n-4、n-5与n-6的次数的总和所...
原创
319阅读
0评论
1点赞
发布博客于 2 年前

牛客网 2018校招真题 京东 回文

Description牛客网 2018校招真题 回文Solving Ideas计算以str[str.length() - 1]为结尾的最大的回文长度,从而判断最少需要追加多少个字母才能使整个串成为回文。Solutionimport java.util.Scanner;/** * @author wylu */public class Main { public stat...
原创
92阅读
0评论
0点赞
发布博客于 2 年前