![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法整理
waiting&fighting
我喜欢高效率和一劳永逸
展开
-
P问题,NP问题,NPC问题,NP-hard问题
大佬链接CSDN总结图原创 2021-12-07 19:36:41 · 419 阅读 · 0 评论 -
二分查找
使用二分查找找到元素出现的首位置和尾位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?from typing import Listclass Solution: def searchRange(self, nums: List[int], target: int) -> Lis原创 2021-03-11 21:34:26 · 94 阅读 · 0 评论 -
链表操作
删除有序链表的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = va原创 2021-03-11 21:12:53 · 126 阅读 · 0 评论 -
删除数组重复项
class Solution: def removeDuplicates(self, nums: List[int]) -> int: n=len(nums) left=0 def delete(nums,left,dup,n): if dup==0: return #把nums[left:]向左平移dup位 for i in range(l原创 2021-03-11 15:28:36 · 85 阅读 · 0 评论 -
二进制运算
二进制和给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。class Solution: def addBinary(self, a: str, b: str) -> str: #先把a和b按照2进制转为10进制的int型,相加后以2进制的形式打印 return '{0:b}'.format(int(a, 2) + int(b, 2))...原创 2021-03-08 20:13:32 · 123 阅读 · 0 评论 -
贪心算法
定义例子原创 2021-02-07 10:25:35 · 78 阅读 · 0 评论 -
递归与分治
递归的定义直接或间接调用自身的算法称为递归算法。例子阶乘def factorial(n): if n==0: return 1 return n*factorial(n-1)排列问题设R={r1,r2,...,rn}(就是代码中的nums数组),且Ri=R-{ri}设Perm(R)表示R的全部排列组合,有当n==1有Perm(R) = (r1)当n>1有Perm(R) = (r1)Perm(R1)∪(r2)Perm(R2)∪...∪(rn)原创 2021-01-28 15:51:25 · 206 阅读 · 1 评论 -
动态规划整理
走迷宫# [Description]## There has a M * N grid, which indicate a 2-dimension world map.# We can only do the following operation on this map:# 1. move to right # 2. move to down# # An array 'mask' show which grid we can touch and which we can原创 2020-09-30 16:48:38 · 352 阅读 · 0 评论 -
模拟系统
简化路径给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,’//’)都被视为单个斜杠 ‘/’ 。 对于此问题,任何其他格式的点(例如,’…’)均被视为文件/目录名称。请注意,返回的 规范路径 必须遵循下述格式:始终以斜杠 ‘/’ 开头。原创 2021-03-08 21:32:36 · 331 阅读 · 0 评论