<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>LeetCode & Coding Interview Guide</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <meta name="keywords"
    content="doc,docs,doocs,documentation,github,coding,pages,leetcode,coding-interview,coding-interview-guide,cracking-the-coding-interview,yanglbme">
  <meta name="description" content="LeetCode、剑指Offer、程序员面试金典题解">
  <meta name="viewport"
    content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/lib/themes/vue.css">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify-darklight-theme@latest/dist/style.min.css">
  <link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16x16.png">
  <style>
    .markdown-section code {
      font-weight: 400;
    }
  </style>
</head>

<body>
  <div id="app">LeetCode & Coding Interview Guide</div>
  <script>
    window.$docsify = {
      name: 'leetcode',
      logo: '/images/doocs-leetcode.png',
      search: [
        '/', '/solution/', '/lcof/', '/lcof2/', '/lcci/', '/lcs/', '/lcp/', '/basic/'
      ],
      loadSidebar: 'summary.md',
      auto2top: true,
      subMaxLevel: 2,
      alias: {
        '/lcs/.*/summary.md': '/lcs/summary.md',
        '/lcp/.*/summary.md': '/lcp/summary.md',
        '/lcci/.*/summary.md': '/lcci/summary.md',
        '/lcof/.*/summary.md': '/lcof/summary.md',
        '/lcof2/.*/summary.md': '/lcof2/summary.md',
        '/solution/.*/summary.md': '/solution/summary.md',
        '/basic/.*/summary.md': '/basic/summary.md'
      },
      darklightTheme: {
        defaultTheme: 'light',
        siteFont: 'Source Sans Pro,Helvetica Neue,Arial,sans-serif',
        codeFontFamily: 'Roboto Mono, Monaco, courier, monospace',
        bodyFontSize: '15px',
        dark: {
          background: '#191919',
          highlightColor: '#e96900',
          codeBackgroundColor: '#202020',
          codeTextColor: '#b4b4b4',
        },
        light: {
          highlightColor: '#e96900',
        }
      },
      pagination: {
        previousText: '上一题',
        nextText: '下一题',
        crossChapter: true,
        crossChapterText: true
      },
      tabs: {
        persist: true,
        sync: true,
        theme: 'classic',
        tabComments: true,
        tabHeadings: true
      },
      plugins: [
        function (hook, vm) {
          hook.beforeEach(function (html) {
            const en = vm.route.file.indexOf('README_EN') > -1
            const userContent = /githubusercontent\.com/.test(vm.route.file)
            const url = userContent ? vm.route.file
              .replace('raw.githubusercontent.com', 'github.com')
              .replace(/\/main/, '/blob/main') : 'https://github.com/doocs/leetcode/blob/main/' + vm.route.file

            const github = `[GitHub](${url})`
            const editHtml = en ? `:memo: Edit on ${github}\n` : `:memo: 在 ${github} 编辑\n`
            return editHtml + html
          })

          hook.afterEach(function (html) {
            const en = vm.route.file.indexOf('README_EN') != -1
            const copyright = en ? '. All Rights Reserved' : ' 版权所有'
            const footer = `<footer><span>Copyright © 2018-2021 <a href="https://github.com/doocs" target="_blank">Doocs</a>${copyright}</footer>`
            return html + footer
          })
        },
      ]
    }
  </script>
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-c.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-go.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-sql.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-bash.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-cpp.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-json.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-java.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-kotlin.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-csharp.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-javascript.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-typescript.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-python.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-swift.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-nim.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-ruby.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/docsify-copy-code@2.1.1/dist/docsify-copy-code.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/docsify-tabs@1/dist/docsify-tabs.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/docsify-darklight-theme@latest/dist/index.min.js"></script>
</body>

</html>