自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 问答 (1)
  • 收藏
  • 关注

原创 数据结构-哈夫曼编码

字符的编码方式有多种,除了大家熟悉的ASCII编码,哈夫曼编码(Huffman Coding)也是一种编码方式,它是可变字长编码。该方法完全依据字符出现概率来构造出平均长度最短的编码,称之为最优编码。你的任务是对从键盘输入的一个字符串求出它的ASCII编码长度和哈夫曼编码长度的比值。对应字符的ASCII编码长度la,huffman编码长度lh和la/lh的值(保留一位小数),数据之间以空格间隔。输入数据有多组,每组数据一行,表示要编码的字符串。

2022-09-09 08:42:39 799 1

原创 数据结构-先序中序还原二叉树

输入数据有多组,每组数据第一行输入1个正整数N(1

2022-09-05 12:10:15 629

原创 数据结构-二叉树-模板题

已知二叉树的一个按前序遍历输入的字符序列,如abc,de,g,f, (其中,表示空结点)。请建立二叉树,并输出建立二叉树的前序遍历序列、中序遍历序列、后序遍历序列、层次遍历序列、深度、叶子数。对于每组测试数据,第1行输出其前序遍历序列、第2行输出其中序遍历序列、第3行输出其后序遍历序列、第4行输出其深度、第5行输出其叶子数。多组测试数据,对于每组测试数据,输入一个长度小于50的按前序遍历输入的字符序列。

2022-09-04 15:12:09 188

原创 opencv项目的CMakeLists配置文件

env_test为工程的命名,OpenCV_DIR为opencv的安装路径记得修改cmake_minimum_required(VERSION 3.16)project(env_test)set(CMAKE_CXX_STANDARD 14)# 可以将下面的路径单独添加到环境变量OpenCV_DIRset(OpenCV_DIR "E:\\opencv\\mingw-build\\install")find_package(OpenCV REQUIRED)include_directorie

2022-05-02 14:56:23 2344

原创 Leetcode 797. 所有可能的路径

797. 所有可能的路径class Solution: def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]: result = [] ans = [] def dfs(i): if i == len(graph) - 1: result.append(ans[:])

2022-02-28 22:42:12 75

原创 Leetcode 150. 逆波兰表达式求值

150. 逆波兰表达式求值class Solution: def evalRPN(self, tokens: List[str]) -> int: operation = ['+', '-', '*', '/'] nums = [] for num in tokens: if num not in operation: nums.append(float(num))

2022-02-18 22:08:35 98

原创 Leetcode 116. 填充每个节点的下一个右侧节点指针

116. 填充每个节点的下一个右侧节点指针Code"""# Definition for a Node.class Node: def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None, next: 'Node' = None): self.val = val self.left = left self.right = right sel

2022-02-10 22:09:29 66

原创 蓝桥杯 平方末尾

Codenum = [0 for _ in range(100)]for i in range(100): num[i * i % 100] = 1print(num.count(1))Result22

2022-02-09 19:24:11 6177

原创 Leetcode 103. 二叉树的锯齿形层序遍历

103. 二叉树的锯齿形层序遍历Ideas算法:DFS数据结构:二叉树Code时间复杂度:O(N),其中 N 为二叉树的节点数。每个节点会且仅会被遍历一次。空间复杂度:O(N)。我们需要维护存储节点的队列和存储节点值的双端队列,空间复杂度为 O(N)。# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# se

2022-02-09 19:11:44 178

原创 Leetcode 102. 二叉树的层序遍历

129. 求根节点到叶节点数字之和Ideas算法:递归数据结构:二叉树Code时间复杂度:O(N)其中 N 为二叉树的节点数,即遍历一棵二叉树的时间复杂度,每个结点只被访问一次。空间复杂度:O(Height)其中 Height 为二叉树的高度。# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self

2022-02-08 17:03:48 80

原创 蓝桥杯 螺旋折线

Codex, y = map(int, input().split(' '))# 累加公式乘2def preSum(n): return n ** 2 + nif x > 0: if abs(x) >= abs(y): ans = preSum(2 * x - 1) + 2 * x if y <= 0: ans += x + abs(y) # else: ans += x - y # el...

2022-01-24 00:11:19 5489

原创 Leetcode 22. 括号生成

22. 括号生成Ideasn很小,考虑深搜每次添加之前计算括号的数量,判断是否有效如果左括号数量不大于 n,我们可以放一个左括号。如果右括号数量小于左括号的数量,我们可以放一个右括号。Codeclass Solution {public: int nn; vector<string> ans; void dfs(int now, int zuo, int you, string& path) { if (now == 2 *

2022-01-23 21:15:57 207

原创 Leetcode 1267. 统计参与通信的服务器

1267. 统计参与通信的服务器Ideas用一行和一列去记录出现的个数,最后遍历全部元素统计一下C++class Solution {public: int countServers(vector<vector<int>>& grid) { int m = grid.size(); int n = grid[0].size(); vector<int> count_m(m), count_n(n);

2022-01-19 19:03:22 684

原创 Leetcode 面试题 16.10. 生存人数

面试题 16.10. 生存人数C++class Solution {public: int maxAliveYear(vector<int>& birth, vector<int>& death) { int ans = 0, length = birth.size(); vector<int> cnt(105,0); for(int i = 0; i < length;

2022-01-18 22:47:54 4928

原创 洛谷 P1873 [COCI 2011/2012 #5] EKO / 砍树

P1873砍树Ideas算法:二分答案Code#include <bits/stdc++.h>using namespace std;typedef long long ll;int main() { int n, m; cin >> n >> m; vector<int> a(n); for (int i = 0; i < n; i++) cin >> a[i]; int l = -1, r = 100

2022-01-18 19:27:19 527

原创 Leetcode 240. 搜索二维矩阵 II

240. 搜索二维矩阵 IIIdeas算法:二分查找Codeclass Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> bool: m = len(matrix) n = len(matrix[0]) for row in matrix: if row[0] > target or row[n - 1] &l

2022-01-15 22:44:12 94

原创 Leetcode 33. 搜索旋转排序数组

33. 搜索旋转排序数组Ideas算法:二分查找Codeclass Solution: def search(self, nums: List[int], target: int) -> int: if target in nums: return nums.index(target) return -1class Solution {public: int search(vector<int>&

2022-01-14 00:33:00 168

原创 蓝桥杯 等差数列

Coden = int(input())nums = list(map(int,input().split()))nums.sort()length = len(nums)cha = 100000for i in range(length - 1- 1): if cha > nums[i + 1] - nums[i]: cha = nums[i + 1] - nums[i]if cha == 0: print(length)else: prin.

2022-01-14 00:24:57 89

原创 Leetcode 202. 快乐数

202. 快乐数Codeclass Solution: def isHappy(self, n: int) -> bool: def help(x): temp = list(map(int,[i for i in str(x)])) num = 0 for i in temp: num += i ** 2 return num a

2022-01-13 00:21:39 93

原创 蓝桥杯 年号字串

Codeans, num = '', 2019while num: ans += f"{chr(num % 26 + ord('A') - 1)}" num //= 26print(ans[::-1])ResultBYQ

2022-01-12 23:58:43 110

原创 Leetcode 118. 杨辉三角

118. 杨辉三角118. 杨辉三角Codeclass Solution: def generate(self, numRows: int) -> List[List[int]]: re = [] for i in range(numRows): values = [] for j in range(i + 1): if j == 0 or j == i:

2022-01-12 00:05:32 1554

原创 蓝桥杯 旋转

Coden, m = map(int, input().split())re = [[0 for _ in range(n)] for _ in range(m)]for row in range(n): values = list(map(int, input().split())) for col in range(m): re[col][n - row - 1] = values[col]for line in re: print(' '.join..

2022-01-11 23:48:54 473

原创 Leetcode 274. H 指数

274. H 指数Codeclass Solution: def hIndex(self, citations: List[int]) -> int: citations.sort(reverse=True) for i, v in enumerate(citations): if i + 1 > v: return i return len(citations)

2022-01-09 00:38:40 523

原创 Leetcode 268. 丢失的数字

268. 丢失的数字Codeclass Solution: def missingNumber(self, nums: List[int]) -> int: length = len(nums) nums.sort() for i in range(length): if nums[i] != i: return i return length

2022-01-08 23:57:51 52

原创 蓝桥杯 成绩分析

Codeif __name__ == '__main__': nums = [int(input()) for _ in range(int(input()))] print(f"{max(nums)}\n{min(nums)}\n{(sum(nums) / len(nums)):.2f}")

2022-01-08 23:39:17 215

原创 Leetcode 148. 排序链表

148. 排序链表Ideas算法:排序数据结构:链表直接读到列表里排序再写回原链表Code# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def sortList(self, head: Optional[

2022-01-07 23:23:55 279

原创 蓝桥杯 蛇形填数

n行n列的数依次是: 1 5 13 25 41 相邻两者相差: 4 8 12 16Codere = 1for i in range(20): re += i * 4print(re)Result761

2022-01-07 23:13:05 539

原创 蓝桥杯 成绩统计

Codenum = eval(input())jige, youxiu = 0, 0for i in range(n): score = int(input()) if score >= 85: youxiu += 1 if score >= 60: jige += 1print(f"{round(100 * jige / num)}%")print(f"{round(100 * youxiu / num)}%")

2022-01-06 22:34:50 683

原创 Leetcode 414. 第三大的数

414. 第三大的数Code时间复杂度:O(N)空间复杂度:O(1)class Solution: def thirdMax(self, nums: List[int]) -> int: l = [-2**31-1, -2**31-1, -2**31-1] for i in nums: if i > l[0]: l[2] = l[1] l[1] = l[0]

2022-01-06 21:25:39 432

原创 Leetcode 169. 多数元素

169. 多数元素Codeclass Solution: def majorityElement(self, nums: List[int]) -> int: counter = Counter(nums) return counter.most_common(1)[0][0]

2022-01-04 23:24:16 67

原创 蓝桥杯 排序

最坏情况,全部逆序i = 1sum = 0while(sum <= 100): sum += i i += 1print(sum)print(i)10515所以有abcdefghijklmno这15个字母,将onmlkjihgfedcba减去5次移动,得到jonmlkihgfedcba,进而验证Codedef bubble_sort_count(l): ct = 0 for i in range(len(l)): for j i.

2022-01-04 22:40:56 502

原创 十大经典排序算法

十大经典排序算法LowB三人组冒泡排序选择排序插入排序NB三人组快速排序堆排序归并排序其他排序桶排序希尔排序计数排序基数排序挨个移动位置的都是稳定排序,飞着排序的都是不稳定排序LowB三人组冒泡排序# 冒泡排序def bubble_sort(li): for i in range(len(li)-1): # 第i趟 exchange = False for j in range(len(li)-i-1): if l

2022-01-04 00:03:42 7321 9

原创 Leetcode 507. 完美数

507. 完美数Ideas算法:迭代Code时间复杂度:O(N^(1/2))空间复杂度:O(1)class Solution: def checkPerfectNumber(self, num: int) -> bool: if num == 1: return False sum = 1 d = 2 while d * d <= num: if num % d

2021-12-31 15:48:59 290

原创 蓝桥杯 美丽的2

Codeans = 0for i in range(1, 2021): if(str(i).count('2')): ans += 1print(ans)Result563

2021-12-31 15:26:49 299

原创 Leetcode 204. 计数质数

204. 计数质数Ideas算法:迭代埃氏筛Codeclass Solution: def countPrimes(self, n: int) -> int: l = [1 for _ in range(n)] for i in range(2,int(n ** 0.5) + 1): if l[i]: for j in range(i * i, n, i):

2021-12-31 14:25:59 374

原创 蓝桥杯 约数个数

Codeans = 1 # 加上它本身# 只需迭代到本身的一半即可for i in range(1, int(78120 / 2) + 1): if 78120 % i == 0: ans += 1print(ans)Result96

2021-12-31 13:08:24 636

原创 Leetcode 1925. 统计平方和三元组的数目

1925. 统计平方和三元组的数目Ideas算法:迭代Codeclass Solution: def countTriples(self, n: int) -> int: ans = 0 for a in range(1, n + 1): for b in range(a + 1, n + 1): c = sqrt(a ** 2 + b ** 2) if c % 1

2021-12-30 00:14:41 84

原创 蓝桥杯 既约分数

Codedef gcd(a, b): return a if b == 0 else gcd(b, a % b)if __name__ == '__main__': ans = 0 for zi in range(1, 2021): for mu in range(1, 2021): if gcd(zi, mu) == 1: ans += 1 print(ans)Result248121.

2021-12-30 00:06:54 339

原创 Leetcode 1566. 重复至少 K 次且长度为 M 的模式

1566. 重复至少 K 次且长度为 M 的模式Ideas算法:迭代Code时间复杂度:O(N)空间复杂度:O(N)class Solution: def containsPattern(self, arr: List[int], m: int, k: int) -> bool: length = len(arr) # 如果长度不可能符合,那就提前结束 if(m * k > length): return F

2021-12-28 22:47:19 245

原创 蓝桥杯 扩散

Codeans = 0for x in range(-2020, 2020 + 2020 + 1): for y in range(-2020, 2020 + 2020 + 1): for x_, y_ in [(0, 0), (2020, 11), (11, 14), (2000, 2000)]: # 求曼哈顿距离,即横纵坐标每加一都要传播一次 if abs(x - x_)+abs(y - y_) <= 2020: .

2021-12-28 22:23:05 348

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除