
Algorithm Learning
哲学旺仔
working.
展开
-
Python - 至多包含两个字符的最大子串
Python - 至多包含两个字符的最大子串题目给定字符串 s,判断最长的只含有一个或者两个字符的子串的长度。示例1input_str = “kkkk”answer = 4解释:最长子串是 kkkk。示例2input_str = “abdyd”answer = 3解释:满足条件的最长子串是 dyd。class Solution: def get_max_length(self, input_str: str) -> int: """获取满足条件的最长子串"""原创 2022-01-22 15:36:54 · 1049 阅读 · 0 评论 -
Python - 最大连续子序列和
Python - 最大连续子序列和最常考的面试题了。代码输出最大值动态规划# -*- coding: utf-8 -*-# @File : test.py# @Author : xianglun918# @Time : 2021/09/17 12:56:15# 处理输入nums = [int(i) for i in input().split()]# 如果没有输入 - 输出 -1 (其实理论上最少应该有一个输入)if not nums: print(-1)else: #原创 2021-09-17 21:25:24 · 1061 阅读 · 0 评论 -
Python - 快速排序
arr = [int(i) for i in input().split()]def quick_sort(start, end): global arr if start >= end: return # Select the pivot pivot = arr[start] low, high = start, end # Exchange pivot left side and right side while lo.原创 2021-09-16 22:01:07 · 90 阅读 · 0 评论 -
Leetcode 汉诺塔问题 Python
class Solution: def hanota(self, A: List[int], B: List[int], C: List[int]) -> None: """ Do not return anything, modify C in-place instead. """ def move(n, src, mid, dest): if n == 1: dest..原创 2021-09-03 18:04:55 · 252 阅读 · 1 评论 -
筛选法求素数
文章目录筛选法求素数筛选法求素数以时间换空间是常用的一种编程思想。假设题目:求n以内的素数。一、常规的解题思路是从小到大判断每一个数是否为素数,如下:def checkPrime(n: int) -> bool: ''' 判断输入整数是否为质数 ''' for i in range(2, n): if not n % i: return False return Truedef main(n: int) -> None: ans = [1, 2] for i原创 2021-08-25 17:37:59 · 263 阅读 · 0 评论 -
Python - 八皇后问题简析。
八皇后问题简介: 将8个皇后放入8 * 8的棋盘中,任意两个皇后不能在同一条直线或对角线上。(可引申至 n 皇后问题)Method - 1暴力随机法,通过无限随机找到一个符合条件的解:(用到random, copy) 找到一个解的效率很高,但找到全部解方面效率低。# Method1 - 暴力随机import randomimport copydimension = 8total =...原创 2018-07-02 18:18:14 · 511 阅读 · 0 评论