Coder Social home page Coder Social logo

ojcase's Introduction

OJCase

算法题 LeetCode、剑指Offer ##LeetCode 程序目录

1-100

  • LC1:给定一个有序数组,和一个整数target,找到两个元素,使其等于target(LC167类似)

  • LC2:两个链表位数相加生成新的链表

  • LC3:找到最长不重复子串(滑动窗口思路)

  • LC11:找到一组数a1,a2,a3,a4,a5的两个数,数字的值为墙的高度,使得与x轴构成的容器,盛水最多。

  • LC15:找到所有三元组,使得相加为0

  • LC16:三元组,使其和最接近target

  • LC17:给定一个数字,求出所有字母组合

  • LC18:四元组问题(所有),使得其和等于target

  • LC19:删除倒数第N个节点

  • LC20:括号匹配

  • LC21:两个有序链表的归并

  • LC23:K个有序数组归并为一个有序数组(Time exceeded,need to follow)

  • LC24:交换链表的节点对

  • LC25:交换链表的K-group节点组

  • LC26:有序数组中去除重复元素

  • LC27:删除某个值

  • LC37:求解数独问题

  • LC39:元素组合,其和为T

  • LC40:元素(可以相同)组合,每个数只能取一次其和为T

  • LC46:给定一个数组,求所有排列

  • LC47:给定一个数组(数组元素可能相同),求所有排列

  • LC49:找到含有相同字符的 组。

  • LC51:N皇后

  •   LC52:N皇后2

  • LC61:链表向右旋转K位

  • LC71:根据字符串路径获取绝对路径

  • LC75:三色排序(0,1,2),思路1:计数排序,思路2:3路快排

  • LC76:寻找最短子串包含所有字符**(hard)**

  • LC77:n-k 组合问题

  • LC78:所有子集

  • LC79:二维平面单词搜索

  • LC80:数组元素去重,最多保留两个 (beated 7.15% need to follow)

  • LC82:链表去除为重复的元素例如:1,2,2,3 return : 1->3

  • LC83:链表去重

  • LC86:对链表进行Partition (beated 4.82% need to follow)

  • LC88:Merge Sored Array

  • LC90:集合子集 元素可能重复

  • LC92:从M,到N反转链表

  • LC93:给定一个字符串,求所有ip的可能性

  • LC94:二叉树中序遍历

  • LC98:验证是否是二分搜索树

  • LC100:判断两棵树是不是一样

###101-200

  • LC101:判断一棵树是不是对称

  • LC102:二叉树层次遍历

  • LC103:对一个二叉树进行层次遍历,返回之字形,1层(->),2层(<-),3层(->)

  • LC104:求出二叉树的深度

  • LC107:二叉树层序遍历,要求从底向上

  • LC108:有序数组转为二分搜索树

  • LC110:判断一个树是不是平衡二叉树

  • LC111:求二叉树的最低深度,从根节点到叶子的最短路径(beated 3.8% need to follow)

  • LC112:给一个二叉树,返回一条和为sum的路径

  • LC113:给一个二叉树,返回所有和为sum的路径

  • LC125:判断字符串是否是回文,忽略大小写,忽略符号

  • LC129:从根节点到叶子结点所有路径组成的数的和 (beated 6.34% need to follow)

  • LC130:将被X包围的O字符翻转为X (beated 7.83% need to follow)

  • LC131:给定一个字符串,求拆分字符串为回文的所有可能

  • LC144:二叉树前序遍历

  • LC144:二叉树后序遍历

  • LC147:链表插入排序

  • LC148:用O(nlogn)对链表进行排序

  • LC149:给出N个点,求最多有多少个点在一条直线上

  • LC150:逆波兰表达式求值,后序表达式

  • LC167:给定一个有序数组,和一个整数target,找到两个元素,使其等于target

思路:暴力、剩余二分查找、左右移动(对撞指针)

  • LC199:返回一棵二叉树最右侧的一组节点

  • LC200:水域岛屿问题 FloodFill算法问题

201-300

  • LC209:最短连续子数组,使得和大于 S给定值

  • LC202:Happy Number

  • LC203:删除链表的所有指定节点

  • LC205:字符串是否同构 例如:s=agg, t=egg, return :true;

  • LC206:反转链表

  • LC215:找到第K大的元素 (beats 11.5% need to follow)

  • LC217:存在相同元素,则返回true

  • LC216:1-9 数字,选出K个,每个数字只能使用一次,使其和为n

  • LC219:给定一个数组,和一个K,判断是否存在nums[i] == numsp[j],且i、j距离小于k

  • LC220:给定一个数组,和一个K,判断是否存在nums[i],numsp[j],且i、j距离小于k,nums[i] nums[j]差值小于t

  • LC222:完全二叉树节点个数

  • LC226:左右反转二叉树

  • LC230:二分搜索树中找到第K小的节点

  • LC236:任意二叉树找到两个节点的公共祖先

  • LC242:一个字符串包含字符与另一个字符串相同

  • LC257:获得二叉树所有路径

  • LC283:将零元素移位到最后

  • LC290:字符串模式匹配 PATTERN = ABBA;str="dog cat dog cat" return true;

301-400

  • LC312:打气球问题

  • LC326:求一个n是否是3个次方。

  • LC328:整理链表,使得奇数节点排在前面,偶数节点排在后面

  • LC344:字符串反转

  • LC345:字符串元音字母翻转

  • LC347:获得出现频率最高的K的元素

  • LC349:两个数组的公共元素

  • LC350:求交集

401-500

  • LC401:二进制表

  • LC404:求所有左叶子之和

  • LC417:水的流动

  • LC437:路径和为sum的路径,路径不要求从根节点开始

  • LC438:找到A字符串中包含S的所有起始位置 例如:A = abab,S=ab 返回:0,1,2

  • LC445:两个链表位数相加生成新的链表(顺序)

  • LC447:找到平面三个点,使得i,j 的距离与i,k的距离相等的组合个数

  • LC450:二分搜索树删除一个节点

  • LC451:按照字母出现频率重排字符串

  • LC454:四个整形数组,求所有四元组之和等于0 ,返回可能的组合

  • LC502:IPO,满足起始资金则启动项目,求最后的captical

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.