![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
bang152101
这个作者很懒,什么都没留下…
展开
-
python 压缩字符串
题目描述:字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3"示例2: 输入:"abbccd" 输出:"abbccd" 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。提示:字符串长度在[0, 50000].原创 2020-09-28 00:19:23 · 10829 阅读 · 1 评论 -
python 合并两个有序的数组
方法一:双指针-将2个数组元素合并到新的数组中去def merge_two_sort_list(a, b): i = j = 0 new_list = [] while i >= len(a) + 1 and b >= len(b) + 1: if a[i] <= b[j]: new_list.append(a[i]) i += 1 if a[i] >= b[j]: .原创 2020-09-18 16:59:21 · 1340 阅读 · 0 评论 -
python 数组中的第K个最大元素
题目描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。def findKthLargest(nums, k): """ :type nums: Li..原创 2020-09-18 09:52:56 · 1920 阅读 · 2 评论 -
python 整数反转
题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。def resverse_int(x): yy = [] if >= 0: ...原创 2020-09-17 17:56:00 · 726 阅读 · 0 评论 -
python 排序链表
题目描述:在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5class ListNode(object): '''定义创建链表节点的类''' def __init__(self, val, next = None...原创 2020-09-17 17:02:51 · 789 阅读 · 1 评论 -
python 链表反转
class ListNode(object): '''定义创建链表节点的类''' def __init__(self, val, next = None): self.val = val self.next = next#方法一:递归实现def resverse_linked_list(head): if not head: return head if not head.next: return hea.原创 2020-09-17 16:22:09 · 530 阅读 · 0 评论 -
python 打印输出链表
class ListNode(object): '''创建生成链表节点的类''' def __init__(self, val, next = None): self.val = val self.next = nextdef print_linked_list(head): if not head or not head.next: return [] result = [] while head: .原创 2020-09-17 16:05:58 · 3552 阅读 · 0 评论 -
python 合并两个有序链表
# 创建生成链表节点的类class ListNode(object): '''创建生成链表节点的类''' def __init__(self, val, next = None): self.val = val self.next = next#递归合并链表def merge_two_linked_list(l1, l2): if not l1: return l2 if not l2: return .原创 2020-09-17 15:57:02 · 288 阅读 · 0 评论 -
无重复字符的最长子串
题目描述:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke"是一个子...原创 2020-09-17 15:47:52 · 124 阅读 · 0 评论 -
python 冒泡算法
冒泡排序(Bubble Sort),是经典的排序算法,基本上我们学习任何语言都会接触到冒泡排序。它的算法思想是,重复地遍历要排序的列表,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历列表的工作是重复地进行直到没有再需要交换,也就是说该列表已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。比如我们有下面这样一个列表:lists =[10,8,4,7,5]每次遍历列表每个元素,然后比较前后两个元素的大小,如果前面的数大于后面的数,就交换位置,否.原创 2020-09-09 17:08:58 · 880 阅读 · 0 评论 -
python 统计字符串中字符的出现次数
# -*- coding:utf-8-*-# 方法一:统计单个字符出现次数def str_count_one(strs:str, find_str:str): return strs.count(find_str)# 方法二:实现统计字符串中每个字符出现的次数def str_count_two(strs:str): #1、目标字符串转为列表 strs_list = list(strs) #2、用一个列表记录总共有多少种字符 new_str_list = .原创 2020-09-01 10:27:21 · 65478 阅读 · 0 评论 -
计算机中用到的数学定义
1、阶乘的公式n!=1×2×3×...×n。bai阶乘亦可du以递归方式定义:0!=1,n!=(n-1)!×n。亦即n!=1×2×3×...×n。阶zhi乘亦可以递归方式dao定义:0!=1,n!=(n-1)!×n。2、斐波那契数列斐波那契数列(baiFibonacci sequence),又称黄金分割数列du、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔zhi子繁dao殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21原创 2020-08-11 11:20:56 · 290 阅读 · 0 评论