算法练习- 其他算法练习4

文章目录

  • xxx
  • 压缩报文还原
  • 符合条件的子串长度
  • 找单词
  • 叠放书籍
  • 篮球比赛
  • 跳格子2
  • 招聘

xxx

压缩报文还原

  • 输入一个压缩后的报文,返回它解压后的原始报文。
  • 压缩规则:n[str],表示方括号内部的 str 重复 n 次。
    注意 n 为正整数(0 < n <= 100),str只包含小写英文字母,不考虑异常情况。

输入:
压缩的报文
输出:
解压后的原始报文

示例一
输入:
3[k]2[mn]
输出
kkkmnmn

示例二
输入
3[m2[c]]
输出
mccmccmcc

示例三
输入
3[m2[cde3[ffgi]]]
输出
mcdeffgiffgiffgicdeffgiffgiffgimcdeffgiffgiffgicdeffgiffgiffgimcdeffgiffgiffgicdeffgiffgiffgi

思路:

  • 遍历压缩的报文的每个字符;
  • 如果是字母或者数字,则入栈char_digit_stack;
  • 如果是 [ {[} [则入栈parenth_stack;
  • 如果是 ] {]} ] 则while parenth_stack: 循环出栈字符和[

python实现:

if __name__ == '__main__':s = input().strip()char_digit_stack = []parenth_stack = []result = ""# 入栈for i in s:if i.isdigit() or i.isalpha():char_digit_stack.append(i)elif i == '[':parenth_stack.append(i)elif i == "]":# 出栈temp = ""while parenth_stack:char = char_digit_stack.pop()if char.isalpha():temp = char + tempelif char.isdigit():parenth_stack.pop()temp = int(char) * tempresult += tempprint(result)

java实现:

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Main0115 {public static final Pattern PATTERN = Pattern.compile("[0-9]+\\[[a-z]+]");public static void main(String[] args) {try (Scanner scanner = new Scanner(System.in)) {String line = scanner.nextLine();String res = solution(line);System.out.print(res);}}private static String solution(String line) {Matcher matcher = PATTERN.matcher(line);if (matcher.find()) {String group = matcher.group();int pos = group.indexOf('[');int times = Integer.parseInt(group.substring(0, pos));String words = group.substring(pos + 1, group.length() - 1);StringBuilder builder = new StringBuilder();for (int i = 0; i < times; i++) {builder.append(words);}String fixed = line.replace(group, builder.toString());return solution(fixed);} else {return line;}}
}

 

符合条件的子串长度

  • 给定字符串A、B和正整数V,字符串A和B的长度相等,
  • 计算A中满足如下条件的最大连续子串的长度:
    • 该连续子串在A和B中的位置长度相同。(对应位置截取子串)
    • 该连续子串每个元素差距 ∣ A [ i ] − B [ i ] ∣ {|A[i] - B[i] |} A[i]B[i](两个字母ASCII码之差的绝对值)之和小于等于V

输入:
第一行输入字符串A,仅包含小写字母,1 <= A.length <= 1000
第二行输入字符串B,仅包含小写字母,1 <= B.length <= 1000
第三行输入正整数V,0 <= V <= 10000

输出:
字符串A 最大连续子串的长度

示例一
输入:
xxcdefg
cdefghi
5
输出:
2

思路:

  • 遍历字符串A B的索引(for i in range(n) ),对应A B位置,以每个字符开头的连续子串中,寻找最大长度的;
  • 满足子串中对应字符的差值(绝对值)求和 <= V;
  • 每次取最大长度;

python实现:

if __name__ == '__main__':# xxcdefg# cdefghi# 5# 输入s1 = input().strip()s2 = input().strip()v = int(input().strip())n = len(s1)max_len = 0for i in range(n): # 以每个字符开头的连续子串j = isum_ = 0while j < n:a, b = s1[j], s2[j]sum_ += abs(ord(a) - ord(b))if sum_ <= v:j += 1else:max_len = max(max_len, j-i)breakprint(max_len)

java实现:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main0128 {public static void main(String[] args) {try (Scanner scanner = new Scanner(System.in)) {String a = scanner.nextLine();String b = scanner.nextLine();int v = scanner.nextInt();solution(a, b, v);}}private static void solution(String a, String b, int v) {int max = 0;int length = 0;List<Integer> list = new ArrayList<>();list.add(Math.abs(a.charAt(0) - b.charAt(0)));int count = list.get(0);for (int i = 1; i < a.length(); i++) {int temp = Math.abs(a.charAt(i) - b.charAt(i));list.add(temp);count += Math.abs(temp);if (count <= v) {length = list.size();} else {count -= list.get(0);list.remove(0);}max = Math.max(length, max);}System.out.println(max);}
}

 

找单词

  • 给一个二维数组和一个字符串,如果该字符串(每个字符)存在于该数组中,则按字符串的字符顺序,输出每个字符所在数组的位置下标,如果找不到,返回字符串。

  • 按照字符串的字符顺序搜索,且搜索到的位置必须是相邻的,其中“相邻”是指那些水平相邻或垂直相邻的位置。

  • 同一个位置内的字母不允许被重复使用。假定在数组中最多只存在一个可能的匹配。

输入:
第1行 二维数组的行数 n ;
后续n行 大写字符 数组,以 , 分割
最后一行 待查找的字符串,由大写字符组成。
二维数组的大小为N*N,0 < N <= 100。
单词长度K,0 < K < 1000。
输出:
输出位置下标字符串,拼接格式为:第1个字符行下标+“,”+第1个字符列下标+“,”+第2个字符行下标+“,”+第2个字符列下标…+“,”+第N个字符行下标+“,”+第N个字符列下标

示例一
输入:
4
A,C,C,F
C,D,E,D
B,E,S,S
F,E,C,A
ACCESS
输出
0,0,0,1,0,2,1,2,2,2,2,3
说明
ACCESS分别对应二维数组的[0,0] [0,1] [0,2] [1,2] [2,2] [2,3]下标位置

思路:

  • 遍历 目标字符串 中的每个字符,逐一在arr二维数值每行中循环查找;
  • 查找第一个字符,找到则将(i,j)位置存入idx_list中,并标记flag=True表示当前字符找到,break 查找的循环。
  • 查找第二个、三个、… 字符时
    • 若出现一个找不到的(查找循环结束 flag=False),则停止外层字符串的遍历,输出当前字符串(未找到)
    • 若找到位置(i,j),判断是否重复(即是否在idx_list中),重复则从下一行 或者 下一列 的位置继续查找(index(val, j));
    • 找到不重复的位置,需要判断是否与上一个位置上下左右连续,是则存入idx_list 并flag=True,结束查找循环。

python实现:

if __name__ == '__main__':# 4# A, C, C, F# C, D, E, D# B, E, S, S# F, E, C, A# ACCESSn = int(input().strip())arr = []for i in range(n):arr.append(input().strip().split(","))target_word = input().strip()# 搜索单词中的每个字符idx_list = []for char in target_word: # 必须按照顺序查找i = 0j = 0flag = False # 标识某次没有查询到print("cur char:", char)while i < n: # 搜索print("******", i)try:j = arr[i].index(char, j)if (i,j) in idx_list: # 位置不能重复print("11111:", i,j)print("idx list:", idx_list)j += 1if j < n:continueelse:raise ValueError(j)elif not idx_list:print("2222:", j)idx_list.append((i,j))flag = Truebreak # 结束搜索else: # 找到的点是否连续print("33333:", j)pre = idx_list[-1]if (abs(pre[0] - i) == 1 and pre[1] == j) or (abs(pre[1] - j) == 1 and pre[0] == i):print("3333找到连续点", i,j)idx_list.append((i,j))flag = Truebreakexcept ValueError:i += 1j = 0if not flag:# 某个字符没找到print(target_word)break# 找到位置result = ""for i in idx_list:i_str = f"{i[0]},{i[1]},"result += i_strprint(result[:-1])

java:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main0100 {static List<String> res = new ArrayList<>();public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = Integer.parseInt(scanner.nextLine());char[][] matrix = new char[N][N];for (int i = 0; i < N; i++) {matrix[i] = scanner.nextLine().replaceAll(",", "").toCharArray();}String word = scanner.nextLine();scanner.close();if (exist(matrix, word)) {for (int i = res.size() - 1; i >= 0; i--) {System.out.print(res.get(i));if (i != 0) {System.out.print(",");}}} else {System.out.println("N");}}public static boolean exist(char[][] board, String word) {int h = board.length, w = board[0].length;boolean[][] visited = new boolean[h][w];for (int i = 0; i < h; i++) {for (int j = 0; j < w; j++) {boolean flag = check(board, visited, i, j, word, 0);if (flag) {res.add(i + "," + j);return flag;}}}return false;}public static boolean check(char[][] board,boolean[][] visited,int i, int j, String s, int k) {if (board[i][j] != s.charAt(k)) {return false;} else if (k == s.length() - 1) {return true;}visited[i][j] = true;int[][] directions = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};boolean result = false;for (int[] dir : directions) {int newi = i + dir[0], newj = j + dir[1];if (newi >= 0 && newi < board.length &&newj >= 0 && newj < board[0].length) {if (!visited[newi][newj]) {boolean flag = check(board, visited, newi, newj, s, k + 1);if (flag) {res.add(newi + "," + newj);result = true;break;}}}}visited[i][j] = false;return result;}
}

 

叠放书籍

书籍的长宽都是整数对应(l, w)
如果书A的长宽度都比B长宽大时,
则允许将B排列放在A上面,
现在有一组规格的书籍,
书籍叠放时要求,书籍不能做旋转,
请计算最多能有多少个规格书籍能叠放在一起。

输入描述
输入:books=[[20,16],[15,11],[10,10],[9,10]]
说明:总共有4本书,第一本长度为20 宽度为16
第一本长度为15 宽度为11
以此类推
最后一本书长度为9 宽度为10
输出描述
输出:3
说明: 最多三个规格的书籍可以叠放在一起 ,
从下到上依次是[20,16],[15,11],[10,10]
示例一
输入
[[20,16],[15,11],[10,10],[9,10]]
输出
3

java:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main0118 {public static void main(String[] args) {try (Scanner scanner = new Scanner(System.in)) {String input = scanner.nextLine();solution(input);}}private static void solution(String input) {List<Book> books = new ArrayList<>();String[] split = input.substring(2, input.length() - 2).split("],\\[");for (String book : split) {String[] lw = book.split(",");int l = Integer.parseInt(lw[0]);int w = Integer.parseInt(lw[1]);books.add(new Book(l, w));}books.sort(Book::compareTo);int res = counter(books);System.out.println(res);}private static int counter(List<Book> books) {int count = 0;Book last = null;for (Book cur : books) {if (last == null) {count = 1;last = cur;} else if (last.l > cur.l && last.w > cur.w) {count++;last = cur;}}return count;}private static class Book implements Comparable<Book> {int l;int w;public Book(int l, int w) {this.l = l;this.w = w;}@Overridepublic int compareTo(Book o) {if (this.l >= o.l && this.w >= o.w) {return -1;} else {return o.l - this.l;}}}
}

 

篮球比赛

篮球(5v5)比赛中每个球员拥有一个战斗力,
每个队伍的所有球员战斗力之和为该队伍的总体战斗力。
现有十个球员准备分为两队进行训练赛,
教练希望两个队伍的战斗力差能够尽可能的小,以达到最佳训练效果。
给出十个球员的战斗力,如果你是教练,你该如何分队,才能达到最佳训练效果?
请输出该分队方案下的最小战斗力差值。

输入描述
十个篮球队员的战斗力(整数,范围[1,10000]),战斗力之间用空格分隔,
如:10 9 8 7 6 5 4 3 2 1
不需要考虑异常输入的场景

输出描述
最小战斗力差值,
如:1

示例一
输入
10 9 8 7 6 5 4 3 2 1
输出
1
说明
1 2 5 9 10 分为一队,3 4 6 7 8 分为一队,两队战斗力之差最小,输出差值1。
备注
球员分队方案不唯一,但最小战斗力差值固定是1

java:

import java.util.LinkedList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;public class Main0098 {public static void main(String[] args) {try (Scanner scanner = new Scanner(System.in)) {String line = scanner.nextLine();solution(line);}}private static void solution(String line) {String[] split = line.split(" ");List<Integer> ints = new LinkedList<>();for (String s : split) {ints.add(Integer.parseInt(s));}int min = Integer.MAX_VALUE;for (int i = 0; i < 10000; i++) {Random random = new Random();List<Integer> tmp = new LinkedList<>(ints);int x = 0, y = 0;for (int j = 0; j < 5; j++) {x += tmp.remove(random.nextInt(tmp.size()));y += tmp.remove(random.nextInt(tmp.size()));}int diff = Math.abs(x - y);if (diff < min) {min = diff;}}System.out.println(min);}
}

 

跳格子2

小明和朋友玩跳格子游戏,有 n 个连续格子组成的圆圈,每个格子有不同的分数,小朋友可以选择以任意格子起跳,但是不能跳连续的格子,不能回头跳,也不能超过一圈;

给定一个代表每个格子得分的非负整数数组,计算能够得到的最高分数。

输入描述
给定一个数例,第一个格子和最后一个格子首尾相连,如: 2 3 2

输出描述
输出能够得到的最高分,如: 3

备注
1≤nums.length≤100
1≤nums[i]≤1000

示例一
输入
2 3 2
输出
3
说明
只能跳3这个格子,因为第一个格子和第三个格子首尾相连

示例二
输入
1 2 3 1
输出
4
说明
1 + 3 = 4

python:

def rob(nums, start, end):pre2, pre1 = 0, 0for i in range(start, end + 1):cur = max(pre1, pre2 + nums[i])pre2 = pre1pre1 = curreturn pre1nums = list(map(int, input().split()))
if len(nums) == 1:print(nums[0])
else:print(max(rob(nums, 0, len(nums) - 2), rob(nums, 1, len(nums) - 1)))

java:

package com.amoscloud.nowcoder.refactor.t0251_0260;import java.util.Scanner;public class Main0251 {public static void main(String[] args) {try (Scanner scanner = new Scanner(System.in)) {String[] input = scanner.nextLine().split(" ");int[] nums = new int[input.length];for (int i = 0; i < input.length; i++) {nums[i] = Integer.parseInt(input[i]);}System.out.println(solution(nums));}}public static int solution(int[] nums) {if (nums.length == 1) return nums[0];return Math.max(rob(nums, 0, nums.length - 2), rob(nums, 1, nums.length - 1));}private static int rob(int[] nums, int start, int end) {int pre2 = 0, pre1 = 0;for (int i = start; i <= end; i++) {int cur = Math.max(pre1, pre2 + nums[i]);pre2 = pre1;pre1 = cur;}return pre1;}
}

 

招聘

某公司组织一场公开招聘活动,假设由于人数和场地的限制,
每人每次面试的时长不等,并已经安排给定,
用(S1,E1)、(S2,E2)、(Sj,Ej)…(Si < Ei,均为非负整数)表示每场面试的开始和结束时间。
面试采用一对一的方式,即一名面试官同时只能面试一名应试者,
一名面试官完成一次面试后可以立即进行下一场面试,且每个面试官的面试人次不超过m。
为了支撑招聘活动高效顺利进行,请你计算至少需要多少名面试官。

输入描述
输入的第一行为面试官的最多面试人次m,第二行为当天总的面试场次n,
接下来的n行为每场面试的起始时间和结束时间,起始时间和结束时间用空格分隔。
其中,1 <= n, m <= 500

输出描述
输出一个整数,表示至少需要的面试官数量。

示例一
输入
2
5
1 2
2 3
3 4
4 5
5 6
输出
3
说明
总共有5场面试
且面试时间都不重叠
但每个面试官最多只能面试2人次
所以需要3名面试官

示例二
输入
3
3
1 2
2 3
3 4
输出
1
说明
总共有3场面时,面试时间都不重叠
每个面试官最多能面试3人次
所以只需要一名面试官

示例三
输入
3
3
8 35
5 10
1 3
输出
2
说明
总共有3场面时,[5,10]和[8,35]有重叠
所以需要2名面试官

java:

import java.util.*;public class Main0111 {public static void main(String[] args) {try (Scanner scanner = new Scanner(System.in)) {int m = scanner.nextInt();int n = scanner.nextInt();int[][] arr = new int[n][2];for (int i=0;i<n;i++){arr[i][0] = scanner.nextInt();arr[i][1] = scanner.nextInt();}solution(m, n, arr);}}private static void solution(int m, int n, int[][] arr) {Arrays.sort(arr, Comparator.comparing(c1->c1[0]));Deque<int[]> deque = new ArrayDeque<>();deque.offer(new int[]{arr[0][1],1});for (int i = 1; i < n; i++) {boolean flag = false;for (int[] p : deque) {if (p[0]<= arr[i][0] && p[1]< m){p[1]++;p[0] = arr[i][1];flag = true;break;}}if (!flag){deque.offer(new int[]{arr[i][1],1});}}System.out.print(deque.size());}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/47309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

待总结博客文章

springboo安全相关: 什么是JWT&#xff1f;(细致讲解) SpringBoot集成JWT实现token验证 SpringBootJWT实现登陆token验证并存储用户信息 SpringBoot 实现 JWT token 自动续期 SpringBoot整合Oauth2实现每次访问后accessToken的有效时间延期&#xff0c;实现类似于Session的…

python35种绘图函数总结,3D、统计、流场,实用性拉满

文章目录 基础图误差线三维图等高线图场图统计图非结构坐标图 基础图 下面这8种图像一般只有两组坐标&#xff0c;直观容易理解。 函数坐标参数图形类别plotx,y曲线图stackplotx,y散点图stemx,y茎叶图scatterx,y散点图polarx,y极坐标图stepx,y步阶图barx,y条形图barhx,y横向条…

阿里云国际版注册教程

什么是阿里云国际版&#xff1f; 阿里云国际版是阿里云专为海外客户供给的服务器及核算资源&#xff0c;涵盖了云主机、弹性裸金属服务器、容器服务、数据库及安全和监控等一系列云核算解决方案。 与其他云核算服务供给商不同&#xff0c;阿里云国际版在安全性、稳定性、性能方…

rtmp直播

技术要求&#xff1a;nginxnginx-rtmpffmpegVLC 跟着大佬走的&#xff1a; 传送门 准备工作&#xff1a; 首先需要一台公网ip的服务器 这是使用天翼云的弹性云主机&#xff1a;免费试用1个月 天翼云官网 点击关机&#xff0c;更多里面选择重置密码&#xff0c; 默认用户名为…

Web AP—BOM 浏览器对象模型

代码下载 BOM BOM&#xff08;Browser Object Model&#xff09;即浏览器对象模型&#xff0c;它提供了独立于内容而与浏览器窗口进行交互的对象&#xff0c;其核心对象是 window。 BOM 由一系列相关的对象构成&#xff0c;并且每个对象都提供了很多方法与属性。 BOM 缺乏标…

EasyExcel入门介绍及工具类,网络下载excel

前言&#xff1a;在这里分享自己第一次使用EasyExcel并且编写工具类&#xff0c;且在接口中支持excel文件下载的一系列流程&#xff0c;包含所有前后端&#xff08;JSJAVA&#xff09;完整代码&#xff0c;可以根据自己需要自行提取&#xff0c;仅供参考。 一.引入EasyExcel依赖…

十、flume的安装

1.解压 2.改名 3.修改权限 4.编辑环境变量并source export FLUME_HOME/usr/local/flume export PATH$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HBASE_HOME/bin:$SQOOP_HOME/bin:$PIG_HOME/bin:$FLUME_HOME/bin 5.配置 6.查看版本 7.启动Hadoo…

vue2.x项目从0到1(七)之用户权限

此章节偏理论知识 对于小一点的项目 比如说角色都是平级的 那我们直接像之前 vue2.x项目从0到1&#xff08;二&#xff09;之后台管理侧边栏&#xff08;动态渲染路由以及高亮&#xff09;_vue动态渲染侧边栏_关忆北_的博客-CSDN博客这样渲染就行了 但是一旦项目大了 …

云曦暑期学习第六周——kali

1.熟悉网络配置 一般来说虚拟机有三种网络模式&#xff1a; NAT (网络地址转换模式)Bridged (桥接模式)Host-Only&#xff08;主机模式&#xff09; nat模式&#xff1a; 虚拟系统会通过宿主机的网络来访问外网。而这里的宿主机相当于有两个网卡&#xff0c;一个是真实网卡…

3分钟了解Android中稳定性测试

一、什么是Monkey Monkey在英文里的含义是猴子&#xff0c;在测试行业的学名叫“猴子测试”&#xff0c;指的是没有测试经验的人甚至是根本不懂计算机的人&#xff08;就像一只猴子&#xff09;&#xff0c;不需要知道程序的任何用户交互方面的知识&#xff0c;给他一个程序&a…

sed替换命令

用sed编辑流时&#xff0c;最强大的命令莫过于它的替换命令。它有许多参数选项&#xff0c;可以完成诸多复杂的工作。 1. 替换命令的语法 sed [address-range|pattern-range] s/original-string /replacement-string/[substitute-flags] inputfile 注意&#xff0c;上面的换…

【2023年11月第四版教材】《第6章-项目管理概论》(第二部分)

《第6章-项目管理概论》&#xff08;第二部分&#xff09; 3 项目经理的角色3.1 项目经理的影响力范围3.2 项目经理领导力风格 4 价值驱动的项目管理知识体系4.1 开发生命周期类型 5 五大过程组6 五个过程组和十大知识领域 3 项目经理的角色 3.1 项目经理的影响力范围 范围影…

Spring Boot配置文件

文章目录 配置文件的作用配置文件的格式properties 配置文件说明yml 配置文件说明yml进阶使用 Spring Boot读取配置文件设置不同环境的配置文件总结 配置文件的作用 Spring Boot 配置文件在应用程序开发中起着非常重要的作用&#xff0c;它们用于定义应用程序的行为、组件和依…

Ganache 本地测试网远程连接

文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络&#xff0c;提供图形化界面&#xff0c;log日志等&#xff1b;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…

窗口函数大揭秘!轻松计算数据累计占比,玩转数据分析的绝佳利器

上一篇文章《如何用窗口函数实现排名计算》中小编为大家介绍了窗口函数在排名计算场景中的应用&#xff0c;但实际上窗口函数除了可以进行单行计算&#xff0c;还可以在每行上打开一个指定大小的计算窗口&#xff0c;这个计算窗口可以由SQL中的语句具体指定&#xff0c;大到整个…

Servlet+JDBC实战开发书店项目讲解第七篇:模拟支付

ServletJDBC实战开发书店项目讲解第七篇&#xff1a;模拟支付 概述 在本篇文章中&#xff0c;我们将使用Servlet和JDBC来完成书店项目中的模拟支付功能。我们将介绍实现思路、后端代码设计以及前端代码设计&#xff0c;并通过代码实现订单支付成功&#xff0c;并实现查看未付…

AI极客日报0822 - AI创作是否应该有版权?

&#x1f440;AI 日报合集 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; 人工智能系统依法享有版权吗&#xff1f;这位法官给出了肯定的答案。让我们开始吧。 今日看点&#xff1a; 一位联邦法官明确表示&#xff0c;AI创作的艺术品没有版权&#xff01;中国&#xff0c…

PySide6学习笔记--基础环境的安装配置

PySide6介绍 QT官方发布Qt6.0之后&#xff0c;紧接着于2020年12月10日发布了PySide 6&#xff0c;对应C版的Qt6。从PySide6开始&#xff0c;PySide的命名也会与Qt的大版本号保持一致。需要注意的是使用PySide6开发的程序在默认情况下&#xff0c;不兼容Windows7系统&#xff0c…

测试框架pytest教程(4)运行测试

运行测试文件 $ pytest -q test_example.py 会运行该文件内test_开头的测试方法 该-q/--quiet标志使输出保持简短 测试类 pytest的测试用例可以不写在类中&#xff0c;但如果写在类中&#xff0c;类名需要是Test开头&#xff0c;非Test开头的类下的test_方法不会被搜集为用…

初识微服务

我们在曾经最常见的就是所谓的单体架构&#xff0c;但是由于网民越来越多&#xff0c;单体架构已经逐渐的被淘汰出去&#xff0c;所以我们在单体架构的基础上提出了微服务&#xff0c;它提倡将单一应用程序划分成一组小的服务&#xff0c;服务之间互相协调、互相配合&#xff0…