Skip to content

dynamicBai/LeetCode

Repository files navigation

LeetCode

leetcode dayly fun

koltin解leetcode

可能时间空间复杂度不是最优的,但是能AC

android开发刷题练练手 先easy后medium 最后才考虑hard

主要是锻炼开拓思维和灵活运用各种数据结构吧

Day1

  1. 最长不重复子串 (medium)
  2. 大中小括号是否合规 (easy)
  3. 字符串集合的最长公共prefix (easy)

Day2

  1. 判断数字是否是回文 (easy)
  2. 翻转数字 (easy)
  3. 罗马数字(easy)

Day3

  1. 两个有序的链表合并成一个有序链表 (easy)
  2. 有序的数组去重 (要求只能在原来的数组操作,只需要保证0 until length的值)(easy)
  3. 无序数组删除指定元素 (easy)

Day4

  1. 两数和(easy)
  2. 查找子串第一次出现的位置(easy)
  3. 查找有序数组 插入数字的位置(easy)

Day5

  1. 三数和 (medium)
  2. 两个数字链表相加(medium)
  3. 最长回文子串(medium)

Day6

  1. 电话号码组合字符串 (medium)
    熟悉递归的基准退出条件和每一次递归的演进逻辑(套递归的模板) emmm..写了这么久客户端,你还熟悉树的遍历吗?(别张口就是深度广度,talk is cheap)
  2. 桶装最多的水 (medium) 这个随便写了一下,写着写着就发现是冒泡排序.....想着后面再用其他排序算法优化,然而直接AC了 哈哈 太晚了 不搞了

Day7

  1. 生成括号 medium(和之前的树递归类似)
  2. 移除链表倒数第n个节点 medium (活用栈)
  3. 交换链表相邻两个节点 medium(用的 cur pre first seconde,貌似也可以用递归)

Day8

  1. 有序翻转过的数组,找特定值(medium) 二分查找的变种,注意观察翻转后的规律
  2. 九宫格数独校验(medium) 算是对二维数组的熟悉吧

Day9

  1. 斐波拉契 (easy) 递归超时 换成迭代
  2. 数组找到某一个重复数字 (easy) hash类问题 1分钟解决....太熟悉了
  3. 二维有序数组查找 (easy) 这里用了穷举,尝试从原点有序推进,但是循环了。 后面发现要以左下或者右上才好推进

Day10

  1. 青蛙跳(easy)迭代
  2. 旋转数组找最小 (easy) 和之前二分查找一样
  3. 替换字符串 (easy) 可以用split api 那就特别简单了

Day11

1 .二进制数 2. 合并有序链表 3. 镜像二叉树 4. 从尾打印链表
5. 顺时针输出矩阵 6. 奇偶分类数组 7. 判断对称二叉树

Day12

1.链表删除节点 2.链表找到倒数第k个节点 3.打印数字 4.反转链表

Day13

1.找到第一个不重复的数字 2.最小k个数字 3.摩尔投票 4.和最大的子串 5.分层打印二叉树

ay14

1.二叉树最高的层数 2.找到两个链表的第一个公共节点 3.两数和

Day15

1.记录有序数组某个数字出现的次数 2.找到升序数组缺失的数字 3.左旋字符串 4.翻转字符串

Day16

1.构建乘积数组 2.二叉搜索树查找第k大 3.判断是否是儿茶平衡树 4.判断是否是顺子 5.环形删除问题 6.滑动窗口最大值

day17

1.判断二叉树两个节点最深的公共节点  2.重复数组全排列

day18

1.判断矩阵路径可达性 2.判断矩阵机器人能经过的点

day19

1.由先序、中序遍历构建二叉树 2.绳子切割求最大乘积 3.绳子切割有大数溢出

day20

1.两个栈实现队列 2.判断树B是否为A的子结构 3.实现幂函数 4.字符串全排列 5.判断出栈顺序是否正确

今天状态很不错啊,第二第四道中等题,kotlin提交时间空间复杂度都是双100% (虽然kotlin提交空间复杂度一直不靠谱,但时间复杂度是目前kotlin最优的)

day21

1.最长不重复子串  2.从左到右打印二叉树

day22

1.判断数组是否是二叉搜索树的后续遍历  2.从左到右打印二叉树2

day23

1.树的路劲和  2.2线程交替打印数字

day24

1.数字转字符串 2.数字组成最小字符串

day25

1.判断字符串是否数字 2.股票买入卖出最大价值 3.实现最大队列 4.找出数组没有重复的数字 5.计算n和 6.矩阵路劲最大和 7.丑数

day26

1.平衡二叉树转双向循环链表 2.n个筛子点数和概率(这道题属于简单题我是没想到的,一个月前做了一次没思路,现在二维的dp方案也能勉强想到了 orz)

day27

1.不用四则运算求和 2.找到连续序列和为目标值 3.实现栈取最小值

day28

1.数组2个一对,min和最大 2.硬币梯形排列 3.找到数组中只出现一次的数字

day29

1.二叉树的层平均值 2.比较含退格的字符串 3.分饼干

day30

1.切割平衡字符串 2.倒数第k个链表值 3.二叉搜索树找到l..r的和 4.有序数组创建高度最小二叉搜索树 5.找到数组所有子集

day31

1.树任意节点间的最大路径和 2.反转链表2

About

leetcode dayly fun

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published