
Algorithm
guocy-ww
联系 q:1665054816@qq.com
展开
-
LeetCode 206 & 剑指 Offer 24. 反转链表
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注原创 2020-09-16 22:23:28 · 115 阅读 · 0 评论 -
欧拉筛法 python
# @data 2020/3/9 19:43# 埃氏筛法# isPrime = [True for _ in range(101)]## for i in range(2, len(isPrime)):# if isPrime[i]:# j = 2# while j * i <= 100:# isPrime[i * j] = False# j += 1### result = []原创 2020-09-16 22:14:16 · 1510 阅读 · 0 评论 -
求解所有最长公共子序列(Python编写)
参考:1、最长公共子序列——有重复解时的全解2、最长公共子序列 (LCS) 详解+例题模板(全)3、算法导论-----最长公共子序列LCS(动态规划)直接上代码# @data 2019/11/30 21:56x = "ABCBDABF"y = "BDCABA"dp = [[0 for _ in range(101)] for _ in range(101)]for i ...原创 2019-12-03 15:44:29 · 684 阅读 · 0 评论 -
求 N* M阶螺旋矩阵
问题描述按顺时针方向构建一个MxN的螺旋矩阵(或按顺时针方向螺旋访问一个N* M的矩阵)例如:N=4, M=5时1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8思路从[1, 0]开始,按照→,↓,←,↑4个方向, 判断该点的值是否为0, 若为0,依则填入count++(初值为...原创 2019-12-02 21:52:15 · 1193 阅读 · 0 评论 -
二分查找 两种实现方法(Java)
二分查找(binary search)也称折半查找(half-interval search),二分查找首先要求原始数组是有序的,每次将数组中间的一个元素与待查找元素进行比较,如果相等则返回,如果中间元素小于待查找元素,则在数组的后半部分递归的进行相同的操作,反之,如果中间元素大于待查找元素,则在数组的前半部分进行查找,直至找到待查找元素,如果找不到则返回-1。该算法有两种实现方法:递归法和循环法。时间复杂度为O(logn)\Omicron({\log} n)O(logn)public class B原创 2020-08-11 13:36:55 · 243 阅读 · 0 评论