god-jiang的git个人博客

记录学习编程路上的点点滴滴和总结大学学习过的重要知识


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

顺时针打印矩阵

发表于 2020-01-17 | 分类于 LeetCode&牛客题解
字数统计: 563 字 | 阅读时长 ≈ 2 分钟

题目描述

输入一个矩阵,按照从外向里以顺时针的顺序依次打印每一个数字,例如,如果输入如下4*4矩阵:

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。

阅读全文 »

复杂链表的复制

发表于 2020-01-16 | 分类于 LeetCode&牛客题解
字数统计: 818 字 | 阅读时长 ≈ 3 分钟

题目描述

输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判断程序会直接返回空)

阅读全文 »

神级算法——二分天下

发表于 2020-01-11 | 分类于 算法积累ing
字数统计: 937 字 | 阅读时长 ≈ 4 分钟

二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高得查找方法。一般都是要求线性表有序,然后二分查找的时间复杂度为O(logN)。

阅读全文 »

单调栈及其应用

发表于 2020-01-08 | 分类于 算法积累ing
字数统计: 1.6k 字 | 阅读时长 ≈ 6 分钟

单调栈

博主是因为在刷LeetCode题的时候才知道有单调栈这个数据结构,说起来也是真的巧妙。一开始是在LeetCode739题(每日温度)接触到的,其实单调栈就是从数组中找到左右两边比你大的数或者比你小的数而且时间复杂度为O(N)。以下讲一些单调栈的特性和一些应用题

阅读全文 »

栈(Stack)与队列(Queue)

发表于 2020-01-06 | 分类于 算法积累ing
字数统计: 836 字 | 阅读时长 ≈ 3 分钟

定义

栈:后进先出(LIFO-last in first out):最后插入的元素最先出来。
队列:先进先出(FIFO-first in first out):最先插入的元素最先出来。

阅读全文 »

浅谈hash函数及应用

发表于 2020-01-04 | 分类于 算法积累ing
字数统计: 1.3k 字 | 阅读时长 ≈ 4 分钟

一、Hash(散列函数)

Hash一般被翻译成散列、杂凑或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列出相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。(介绍来源于百度百科)

阅读全文 »

数据流中的中位数解法

发表于 2020-01-03 | 分类于 LeetCode&牛客题解
字数统计: 1.1k 字 | 阅读时长 ≈ 4 分钟

背景介绍

越来越多的程序员关注数据结构和算法的知识,会在leetcode和牛客等各种网站刷题,但是遇到一些中等难度或者困难难度的题就束手无策,而我通过刷题来写一些关于中等或者困难的题目的题解,达到一个自己越来越熟悉,而且还可以帮助别人理解的程度。接下来我会用两种策略来解决这道题——数据流中的中位数。

阅读全文 »

滑动窗口算法

发表于 2020-01-01 | 分类于 LeetCode&牛客题解
字数统计: 808 字 | 阅读时长 ≈ 3 分钟

滑动窗口操作

  • 使用左右指针L、R
  • 当一个数进入窗口时,必须从尾部进入,R向右移动一位
  • 当一个数出窗口时,必须从头部出去,L向右移动一位
  • L、R只能向右移动,且R>L

阅读全文 »

hexo博客搭建gitalk

发表于 2019-12-31 | 分类于 hexo优化
字数统计: 776 字 | 阅读时长 ≈ 3 分钟

背景

2019年1月份的时候就开始搭建了我的第一个博客hexo,部署到了Github Page上,也陆陆续续更新了一些大学时期学习的数据结构和算法内容,然后加了阅读量和访问量,后面发现没有评论系统的博客有点low的感觉,看了很多的评论系统,这里就不一一列举了,最后使用的是Gittalk评论系统。接下来就来介绍hexo集成Gittalk评论系统的全部过程。

阅读全文 »

荷兰国旗问题&快排&BFPRT算法

发表于 2019-12-26 | 分类于 算法积累ing
字数统计: 1k 字 | 阅读时长 ≈ 4 分钟

荷兰国旗问题

给定一个数组arr和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放在数组的右边。要求额外空间复杂度为O(1),时间复杂度为O(N)

阅读全文 »
1…678
god-jiang

god-jiang

一名热爱编程和算法的在校大学生

80 日志
17 分类
46 标签
GitHub 知乎
© 2021 god-jiang
主题 — NexT.Gemini v5.1.4
全站共 84.3k 字
本站访问数 人 本站总访问量 次
0%