算法

趣味算法题:从登录日志中计算各个用户的最长连续登录天数

1 题目描述 假设我们有一个记录用户登录的日志文件,该文件有多行记录,每一行记录包含用户 ID、登录日期(格式为:yyyy-MM-dd)和登录时间(格式为:HH:mm:ss)三个以空格分割的条目。记录并不是以时间先后排序的,而是乱序的(如:样例输入中的记录 1002 2023-02-06 12:10:01 在 1002 2023-02-05 11:10:01 之前)。请计算每个用户的最长连续登录天数,输出格式为:用户 ID: 最长连续登录天数(如:样例输出中的 1002: 5)。

阅读更多

感知机算法及 Python 实现

1 何为感知机? 感知机是一个单层人工神经网络,是一个用于二分类的算法,其也是线性分类器的一种。 其可被抽象为下图所示模型:即一个神经元接收到来自 n 个其它神经元的输入信号;对这些输入信号,通过带权值的连接进行计算(各个连接线的权值与对应输入值相乘,然后进行累加),然后判断计算出来的累加值是否超过阈值(Threshold);若等于或超过阈值,则输出 y 为 1,表示该神经元激活,否则输出 y 为 -1 表示该神经元抑制。

阅读更多

LeetCode 707 设计链表

1 题目描述 设计链表的实现。您可以选择使用单链表或者双链表来实现。 单链表中的节点应有val和next两个属性,val为当前节点的值,next为下一个节点的指针或引用。 若使用双链表实现,则需要一个额外的属性prev来指向当前节点的前一个节点。

阅读更多

LeetCode 94 二叉树中序遍历

1 题目描述 给定一棵二叉树,返回其节点值的中序遍历结果。 例如: 输入:[1,null,2,3] 1 \ 2 / 3 输出:[1,3,2] 注:递归较简单,您可否使用循环来实现?

阅读更多

LeetCode 92 反转链表 II

1 题目描述 对单链表的某一段(自第m个位置起到第n个位置止)进行反转。 例如: 输入:1->2->3->4->5->NULL, m = 2, n = 4 输出:1->4->3->2->5->NULL 注:1 ≤ m ≤ n ≤ length(链表长度)

阅读更多