门牌制作(python)
题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝要为一条街的住户制作门牌号。
这条街一共有 2020 位住户,门牌号从 1 到2020 编号。
小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、71、0、1、7,即需要 1个字符 0,2 个字符 1,1 个字符 7。
请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?
代码示例import osimport sys# 请在此输入您的代码b = 0for i in range(1, 2021): # range(1,2021)代表的是从1到2021的数,不包括2021 a = str(i).count('2') # 在字符串中有个操作是统计指定字符串的数量,那么就需要先将i转换为字符串 b += a # 依次累加得到最终结果print(b)
解题思路:遍历着2020个数字,找到每个数字中含有几个2,将他们累加即可
回文日期(python)
题目描述 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。
有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。
也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即 2121 年 12 月 12 日。算不上 “千年一遇”,顶多算 “千年两遇”。
给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。
输入描述输入包含一个八位整数 N,表示日期。
对于所有评测用例,10000101≤N≤89991231,保证 N 是一个合法日期的 8 位数表示。
输出描述输出两行,每行 1 个八位数。第一行表示 ...
数字三角形(JAVA)
题目
上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。
路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。
输入描述
输入的第一行包含一个整数 N (1≤N≤100),表示三角形的行数。
下面的 N 行给出数字三角形。数字三角形上的数都是 0 至 100 之间的整数。
输出描述
输出一个整数,表示答案。
输入输出样例
示例
输入
5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5
输出
27
运行限制
-最大运行时间:1S
-最大运行内存:256M
代码import java.util.Scanner; public class main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N=scan.nextInt( ...
移动距离(python)
题目描述 X 星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3,⋯⋯
当排满一行时,从下一行相邻的楼往反方向排号。
比如:当小区排号宽度为 6 时,开始情形如下:
1 2 3 4 5 6
12 11 10 9 8 7
13 14 15 ⋯⋯
我们的问题是:已知了两个楼号 m,n,需要求出它们之间的最短移动距离(不能斜线方向移动)
输入为 3 个整数 w,m,n,空格分开,都在 1 到 10000 范围内,w 为排号宽度,m,n 为待计算的楼号。
输出描述要求输出一个整数,表示 m,n 两楼间最短移动距离。
输入输出样例示例 1
输入
6 2 8
输出
4
示例 2
输入
4 7 20
输出
5
运行限制
最大运行时间:1s
最大运行内存: 256M
import osimport sysimport math # 调用math库# 请在此输入您的代 ...
单词分析(python)
题目描述小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。
现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。
输入描述输入一行包含一个单词,单词只由小写英文字母组成。
对于所有的评测用例,输入的单词长度不超过 1000。
输出描述输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。
第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。
输入输出样例示例 1
输入
lanqiao
输出
a2
示例 2
输入
longlonglongistoolong
输出
o6
运行限制
最大运行时间:1s
最大运行内存: 256M
dc_str = input() # 创建一个字符串dc_str,并输入单词num = 0 # 初始化个数dc_list = [] # 创建列表dc_lis ...
成绩统计(python)
题目描述小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。
输入描述输入的第一行包含一个整数 n (1≤n≤10^4),表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。
输入输出样例示例
输入
780925674881000
输出
71%43%
import osimport sys# 请在此输入您的代码n = int(input()) # 考试人数且为整型jg = 0 # 及格的人数yx = 0 # 优秀的人数cj_list = [] # 存放成绩for x in range(n): # 通过for循环来输入成绩 cj_list.append(input())for x in range(n): # 通过for ...
猜数字(python)
猜数字(python)# 以下两行可以生成随机数,范围(1,100)可自拟import randomnum = random.randint(1, 100)# 定义一个int型变量,并初始化猜的次数x = 0# 定义一个布尔型变量flag = True# 在while循环中用布尔类型来控制循环,若为真则继续循环,为假则跳出循环while flag: # 输入你所猜数字哦 n = int(input("输入:")) # 猜的次数 x += 1 # 用if循环来比较猜的对错 if n == num: print("猜中了!!!") flag = False else: if n > num: print("大了~") else: print("小了~")print(f"恭喜你猜对啦,就是{n}啦,总共猜了{x}次 & ...
商品入库(java)
题目现要对华为和小米两种手机产品进行入库,本案例要求编写一个模拟商品入库的程序,可以在控制台输入入库商品的数量,最后打印出仓库中所有商品详细信息以及所有商品的总库存数和库存商品总金额。商品信息如下:品牌型号尺寸价格配置库存总价
实例代码:package text;import java.util.Scanner; // 便于输入函数调用public class goods { public static void main (String[] args){ // 华为 String huawei = "华为"; // 品牌型号 double cc1 = 6.1; // 尺寸 double jg1 = 7999; // 价格 String pz1 = "8+256"; // 配置 // 小米 String xiaomi = "小米"; // ...
LeetCode35:搜索插入位置(二分法---根据边界区间闭合问题的两种写法)
题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1:
输入: nums = [1,3,5,6], target = 5 输出: 2
示例2:
输入: nums = [1,3,5,6], target = 2 输出: 1
示例3:
输入: nums = [1,3,5,6], target = 7 输出: 4
提示:
1 <= nums.length <= 104 -104 <= nums[i] <= 104 nums 为 无重复元素 的 升序 排列数组 -104 <= target <= 104
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/search-insert-position
题解二分查找涉及的很多的边界条件,逻辑比较简单,就是写不好。
例如到底是 while(left < right) 还是 while(left <= right) ...
LeetCode46-全排列(dfs算法)
题目描述给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。
示例 1:
输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
示例 2:
输入:nums = [0,1] 输出:[[0,1],[1,0]]
示例 3:
输入:nums = [1] 输出:[[1]]
提示:1 <= nums.length <= 6 -10 <= nums[i] <= 10 nums 中的所有整数 互不相同
全排列的基本思想是:
把待全排列记录分为两个部分: (1) 第一个记录 (2) 剩下的所有元素 所有记录的全排列就是所有可能出现在第一个位置的记录与剩下所有元素的全排列。 以[1,2,3]为例, 1,2,3的全排列可以看作是 1,[2,3的全排列] [2,3]的全排列又可以看作是 2,[3的全排列]—————对应123 3,[2的全排列]—————对应132 2,[1,3的全排列] [1,3]的全 ...