首页 > 其他分享 >有没有人一起从零开始刷力扣

有没有人一起从零开始刷力扣

时间:2022-11-23 01:22:26浏览次数:44  
标签:有没有 https 分类 从零开始 let 数组 编号 题目 刷力

简介
是不是有许多小伙伴在刷力扣的时候感觉无从下手?从头按顺序开始刷的童鞋们可能会比较有感触,为什么才第四题就感觉很难了?没关系,本文将对力扣的 1-700 题中不需要会员的数据结构与算法题目(数据库与 shell 除外)进行分类,并推荐一个刷题的顺序。

完全零基础可以刷题吗?
不能,至少要基本掌握一门计算机语言的语法。但现在在网上随便搜一下就能搜到许多关于计算机语言的教程。当然,最好还是上一下正规的课程。

刷题顺序很重要吗?
重要。按照题目类别结构化地刷题的速度不仅更快,而且可以在刷完一类题之后进行总结。对于水平较高的小伙伴们来说,按照推荐的顺序刷,可以在 200 小时内刷完 500 多题。对于萌新们来说,按照推荐顺序刷,能更好地掌握数据结构与算法基础。

题目分类及刷题顺序推荐
一. 数组
题目分类 题目编号
数组的遍历 485、495、414、628
统计数组中的元素 645、697、448、442、41、274
数组的改变、移动 453、665、283
二维数组及滚动数组 118、119、661、598、419
数组的旋转 189、396
特定顺序遍历二维数组 54、59、498
二维数组变换 566、48、73、289
前缀和数组 303、304、238
题解 数组篇
二. 字符串
题目分类 题目编号
字符 520
回文串的定义 125
公共前缀 14
单词 434、58
字符串的反转 344、541、557、151
字符的统计 387、389、383、242、49、451、423、657、551、696、467、535
数字与字符串间转换 299、412、506、539、553、537、592、640、38、443、8、13、12、273、165、481
子序列 392、524、521、522
高精度运算 66、67、415、43、306
字符串变换 482、6、68
字符串匹配 28、686、459、214
中心拓展法 5、647
三. 数与位
题目分类 题目编号
数字的位操作 7、9、479、564、231、342、326、504、263、190、191、476、461、477、693、393、172、458、258、319、405、171、168、670、233、357、400
简单数学题 492、29、507
快速幂 50、372
四. 栈与递归
题目分类 题目编号
用栈访问最后若干元素 682、71、388
栈与计算器 150、227、224
栈与括号匹配 20、636、591、32
递归 385、341、394
五. 链表
题目分类 题目编号
链表的删除 203、237、19
链表的遍历 430
链表的旋转与反转 61、24、206、92、25
链表高精度加法 2、445
链表的合并 21、23
六. 哈希表
题目分类 题目编号
哈希表的查找、插入及删除 217、633、349、128、202、500、290、532、205、166、466、138
哈希表与索引 1、167、599、219、220
哈希表与统计 594、350、554、609、454、18
哈希表与前缀和 560、523、525
七. 贪心算法
题目分类 题目编号
数组与贪心算法 605、121、122、561、455、575、135、409、621、179、56、57、228、452、435、646、406、48、169、215、75、324、517、649、678、420
子数组与贪心算法 53、134、581、152
子序列与贪心算法 334、376、659
数字与贪心 343
单调栈法 496、503、456、316、402、321、84、85
八. 双指针法
题目分类 题目编号
头尾指针 345、680、167、15、16、18、11、42
同向双指针、滑动窗口 27、26、80、83、82、611、187、643、674、209、3、438、567、424、76、30
分段双指针 86、328、160、88、475
快慢指针 141、142、143、234、457、287
九. 树
题目分类 题目编号
树与递归 100、222、101、226、437、563、617、508、572、543、654、687、87
树的层次遍历 102、429、690、559、662、671、513、515、637、103、107、257、623、653、104、111、112、113、129、404、199、655、116、117
树的前序遍历 144、589
树的前序序列化 606、331、652、297、449
树的后序遍历 145、590
树的中序遍历与二叉搜索树 94、700、530、538、230、98、173、669、450、110、95、108、109
重构二叉树 105、106
二叉树的展开 114
最近公共祖先 235、236
Morris中序遍历 501、99
四叉树 558、427
十. 图与搜索
题目分类 题目编号
图的建立与应用 565
深度优先搜索 17、397
回溯法 526、401、36、37、51、52、77、39、216、40、46、47、31、556、60、491、78、90、79、93、332
回溯法与表达式 241、282、679
回溯法与括号 22、301
回溯法与贪心 488
广度优先搜索 133、200、695、463、542、130、417、529、127、126、433、675
并查集 547、684、685
拓扑排序 399、207、210
有限状态自动机 65、468
十一. 二分查找
题目分类 题目编号
二分查找应用(简单) 374、35、278、367、69、441
二分查找应用(中等) 34、540、275、436、300、354、658、162、4
二分查找与旋转数组 153、154、33、81
二分查找与矩阵 74、240
二分答案法 378、668、410、483
十二. 二进制运算的应用
题目分类 题目编号
异或的应用 89、136、137、260、268
与或非的应用 371、318、201
十三. 动态规划
题目分类 题目编号
数组中的动态规划 509、70、338、45、55、198、213、650、91、639、552、123、188、309、32、264、313、403
子数组、子序列中的动态规划 689、413、446、368、416、279
背包问题 322、518、474、494、377
矩阵中的动态规划 62、63、64、120、576、688、221、629、174、96、329
动态规划与字符串匹配 583、72、97、115、516、132、131、139、140、514、10、44
状态压缩动态规划 464、691、698、638、473
区间中的动态规划 486、664、375、312、546
树形dp 337、124
数位dp 233、600
十四. 数据结构
题目分类 题目编号
数据结构设计——栈与队列 225、232、284、622、641、155
数据结构设计——哈希表 676、355、380、381
数据结构设计——哈希与双向链表 432、146、460
前缀树 208、211、648、386、677、472、421、212、336、440
堆 23、373、378、632、347、692、502、630、407、295、480
树状数组 307、315、493、327、673
线段树 699
平衡树(set/map) 352、218、363
十五. 采样
题目分类 题目编号
按权值采样 528、497
蓄水池抽样 382、398
拒绝采样 470、478、519
十六. 计算几何
题目分类 题目编号
计算几何基础 593、447、223、149
分类讨论法 335
凸包 587
覆盖问题 391
十七. 常用技巧与算法
题目分类 题目编号
博弈论 292
分块 239、164
倍增法 330
拓展欧几里得算法 365
洗牌算法 384
找规律 390、672
分治法 395、667
排序算法 147、148
线性筛 204
摩尔投票法 229
结语
希望以上的分类及顺序能帮到大家,未来也有做各分类的题解的打算,欢迎一起讨论。

 

 

原文地址:

https://leetcode.cn/circle/article/48kq9d/

 

有没有人从零开始刷力扣 ---脚本可以把力扣如上网址的文本分类内容加上对应题目超链接

脚本网址:https://gist.github.com/isudox/03f39efb5b67375f1ed7fe1617be9a4e

脚本内容如下:

// 脚本使用方法请参考 https://www.tampermonkey.net/faq.php 或 https://greasyfork.org/zh-CN (这行代码不要复制)
// 这俩都是国外网站, 上不去的话直接百度 "油猴脚本使用方法" 就行(这行代码也不要复制)

// ==UserScript==
// @name         有没有人一起从零开始刷力扣
// @namespace    likou-replace
// @version      1.0
// @description  none
// @author       Permission
// @match        https://leetcode.cn/circle/article/48kq9d/*
// @require      https://code.jquery.com/jquery-3.4.1.min.js
// @grant        none
// ==/UserScript==

/* globals $, jQuery */
'use strict';

let proMap = new Map(),
    transMap = new Map(),
    statusMap = new Map(),
    buildMapComplete = false;

const getProblems = () => {
    $.get("https://leetcode.cn/api/problems/all/").then((response) => {
        getTrans(JSON.parse(response));
    });
}

const getTrans = (picker) => {
    $.ajax({
        method: "POST",
        url: 'https://leetcode.cn/graphql/',
        headers: {
            "content-type": "application/json",
            "x-definition-name": "getQuestionTranslation",
            "x-operation-name": "getQuestionTranslation",
            "x-csrftoken": getCookie("csrftoken"),
            "x-timezone": Intl.DateTimeFormat().resolvedOptions().timeZone
        },
        data: JSON.stringify({
            "operationName": "getQuestionTranslation",
            "variables": {},
            "query": "query getQuestionTranslation($lang: String) {translations: allAppliedQuestionTranslations(lang: $lang) {title questionId __typename}}"
        })
    }).then((trans) => {
        buildMap(picker, trans);
    });
}


const buildMap = (picker, trans) => {
    for (let pro of picker.stat_status_pairs) {
        proMap.set(pro.stat.frontend_question_id, pro.stat.question__title_slug);
        statusMap.set(pro.stat.frontend_question_id, pro.status)
    }
    for (let t of trans.data.translations) {
        transMap.set(t.questionId, t.title);
    }
    buildMapComplete = true;
};

const getCookie = (name) => {
    const reg = new RegExp(`(^| )${name}=([^;]*)(;|$)`);
    const arr = document.cookie.match(reg);
    if (arr) {
        return unescape(arr[2]);
    } else {
        return null;
    }
};

const replace = () => {
    let even = true;
    for (let problem of $("table tr td")) {
        if (!even) {
            let htmlString = "";
            let normalExit = true;
            for (let id of problem.textContent.split('、')) {
                if (isNaN(parseInt(id))) {
                    normalExit = false;
                    break;
                }
                let color = ''
                if (statusMap.get(id) == 'ac') {
                    color = 'color:#008000'
                }
                htmlString += `<a href = 'https://leetcode.cn/problems/${proMap.get(id)}/' title = '${transMap.get(id)}' target = '_blank' style='${color}'>${id}</a>、`;
            }
            if (normalExit) {
                problem.innerHTML = `<td>${htmlString.substring(0, htmlString.length - 1)}</td>`;
            }
        }
        even = !even;
    }

}

getProblems();

const interval = setInterval(() => {
    if (buildMapComplete && $("table tr td").length !== 0) {
        clearInterval(interval);
        replace();
    }
}, 5e2);

 

标签:有没有,https,分类,从零开始,let,数组,编号,题目,刷力
From: https://www.cnblogs.com/bluestorm/p/16917044.html

相关文章

  • 从零开始介绍cmake
    从零开始介绍cmake-bilibili说明cmake的定义是什么?-----高级编译配置工具当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等......
  • 国内有没有类似思科Cisco DUO的双因子认证产品?
    DUO是Cisco思科旗下双因子认证(也称MFA,多因素认证)方案,国内有许多企业依旧在用。但随着国内互联网技术飞速发展,网络安全得到国家重视,企业面临着等保合规以及用户体验等多方......
  • 从零开始配置vim(28)——DAP 配置
    首先给大家说一声抱歉,前段时间一直在忙换工作的事,包括但不限于交接、背面试题准备面试。好在最终找到了工作,也顺利入职了。期间也有朋友在催更,在这里我对关注本系列的朋友......
  • 2021-07-17 从零开始的一日HTML
    <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>狗子的工作站</title></head><body><divalign="left"><img......
  • 从零开始的树莓派部署CentOS
    从零开始的树莓派部署CentOS硬件树莓派4b8G若干镜像使用官方镜像,选择64位armCentOS7ARM64(aarch64)选择镜像源http://mirrors.bfsu.edu.cn/centos-altarch/7.......
  • 66.有没有碰到过数组响应丢失(问的是ref和reactive的用法,什么情况下用)
    由于vue3使用proxy,对于对象和数组都不能直接整个赋值。  直接赋值丢失了响应性只有push或者根据索引遍历赋值才可以保留reactive数组的响应性 ;可以使用toRefs解决......
  • 从零开始创建一个uni-app项目
    创建uni-app项目首先要下载HBuilderX,HBuilderX下载地址:​​下载地址​​​,HBuilderX安装方法:​​安装方法​​。安装好HBuilderX以后,我们就可以开始创建uni-app项目了。......
  • Re:从零开始教你使用 Sublime Text
    目录Re:从零开始教你使用SublimeText0.前言0-0.关于我为什么要写这篇文章0-1.关于这篇文章会讲什么0-2.适用人群0-4.其他0-5.无用的统计1.安装和基础功能介绍1-0.下载1-1......
  • CSS 样式属性书写顺序对渲染性能到底有没有影响(实验论证-2022.11)
    在前端领域有一定工作年限,并且接触过前端蛮荒时代(前后端不分离,jQuery,纯HTML+CSS+JS)开发的小伙伴,应该对CSS样式非常熟悉。早在那个年代,前端在编写CSS代码时,已经听说业界对......
  • 从零开始游戏开发——3.6 材质与Mesh
    需要显示一个模型,虽然可以通过在代码指定顶点数据、显示的纹理、使用的Shader等内容,但游戏开中这些数据通常都是由美术人员提供的,这就涉及到了材质和Mesh的概念。材质......