有些算法题是这样要求的,一行输入一行数据,然后没有规定我要输入多少行,你要自行判断文件结束EOF,否则是会runtime error的,因为oj内部都是用文件来进行读写的. 例如a+b,每一行输入a b,计算a+b的结果. 一般这种嘛,c/c++很简单了,就是scanf判断一下!=EOF就完事了,但是python中没有这种操作,需要另外的操作.这里介绍一些目前我掌握的有三种方法: 用异常 这个很好想,就是判断输入并转换成数值,然后最后读不到东西了,转换肯定会有异常,通过异常退出就行了,这个方法我…
Java在算法题中的输入问题 在写算法题的时候,经常因为数据的输入问题而导致卡壳,其中最常见的就是数据输入无法结束. 1.给定范围,确定输入几个数据 直接使用普通的Scanner输入数据范围,然后使用for循环输入后续数据. 例如: Scanner scanner = new Scanner(System.in); //输入数据的范围 int n = scanner.nextInt(); for(int i = 0;i < n;i++){ arrays[i] = scanner.nextInt(…
[经验] Java BigInteger类以及其在算法题中的应用 标签(空格分隔): 经验 本来在刷九度的数学类型题,有进制转换和大数运算,故而用到了java BigInteger类,使用了之后才发现真是业界良心!比C++求解进制转换题不知道方便到哪里去了!故作此文. 简介 首先,介绍一下BigIntger类. BigInteger类是java为了处理大数字二专门制作的类,可以处理很大的数字(理论上无限大),并且可以实现大数字的类似于int所有数学运算.对算法题来说,再也不怕出现超出int范围的…
Shell脚本中判断输入参数个数的方法 投稿:junjie 字体:[增加 减小] 类型:转载   这篇文章主要介绍了Shell脚本中判断输入参数个数的方法,使用内置变量$#即可实现判断输入了多少个参数,需要的朋友可以参考下   $#代表了命令行的参数数量,可以看以下实例: 复制代码 代码如下: if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit…
在写物理实验图像处理的脚本时,遇到了一个判断输入的字符串是否为数字的方法 最开始我的思路是这个 test = input() while test.isdigit(): # do something 用的是系统自带的String.isdigit()的方法,该方法用于判定输入的字符串是否为纯数.如果是纯数,则返回True,否则返回False. 但是这样有一个问题,浮点数中有dot这个符号,所以一旦用户输入浮点数,返回值就是False,达不到我要的目标.后来想用最原始的C++中判定ASCII码的方法…
1.3位水仙花数计算 "3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身. 例如: ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC. 使用Python,输出所有的3位水仙花数. >>> for i in range(100,1000): if pow(i // 100 , 3) + pow(i % 10 , 3) + pow(i // 10 % 10, 3) == i: print(i,end=" ") &g…
/* * java 作Oj题目是会有输入若干数据的情况,不好判断输入结束符, * 类似于C语言中的EOF符号 * 在这里提供了一种方法 * */ import java.util.Iterator; import java.util.Scanner; import java.util.TreeSet; public class StudentCode { public static void main(String[] args) { TreeSet<Integer> ts=new TreeS…
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #d74200 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #289c97 } p.p4 { mar…
题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案. 示例 2: 输入: "cbbd" 输出: "bb" 来源:力扣(LeetCode) 人生苦短,我用python!简单的思路最适合大多数人! python的精髓在于简单,灵活,用少的代码完成别的语言相同的工作! 最长回文…
1.当num确定为数字后 num=123.4print(isinstance(num,float))#判断是否为浮点数 print(isinstance(num,int))#判断是否为整数 2.当num为字符串是时 num=input("输入一个数字:").strip() print(type(eval(num)))#输出字符串类型 #当num="123",输出int #当num="1.234",输出float 当num输入字母中文会报错 3.…
首先用session将随机生成的验证码的值传到页面,然后获取当前文本框中输入的值  进行对比:代码如下: 生成的随机数,把它传到session里面 <? session_start();   必须要先打开session开关.$s = array("a","b","c","d","e","f","g","h","i",&qu…
题目 题目来源 P1149 火柴棒等式,https://www.luogu.org/problem/P1149 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是00).用火柴棍拼数字0-90−9的拼法如图所示: 注意: 加号与等号各自需要两根火柴棍 如果A≠B,则A+B=C与B+A=C视为不同的等式(A,B,C>=0) n根火柴棍必须全部用上 输入格式 一个整数n(n<=24). 输出格式…
''' 1.买卖股票的最佳时机给定一个数组,它的第?i?个元素是一支给定股票第?i?天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票.(5分) 要求: 1.输入: [7,1,5,3,6,4] 2.输出: 5 3.解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 . 4.注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格.…
QQ讨论群:99979568 多交流才能进步 暂时写到这里,有不懂的欢迎评论, 如果有什么其他提高效率的细节,欢迎评论或者私信我,小编一定努力学习,争取早日分享给大家 如果大家嫌三连累的话,可以看看这个文章,快速三连(●ˇ∀ˇ●) 判断奇数偶数 两个变量的值交换 在使用数组长度的时候需要注意 做OJ或者控制台输入时可以优化的地方 求质数的方法(欧拉筛) 循环中一定不能进行的操作 循环中一定要会的操作(goto语句) 声明变量需要注意的地方 if条件中的boolean应该怎么判断才能提高效率 在使…
题目 直接看图! 思路第一步:分组 我们把传入的字符串进行分组, 每个框内的字母为1组: 我们发现每个相同颜色的框内的一组字母的特点是在传入的字符串中是连续的: 我们还发现每组字母的个数是由numRow来确定的:个数为(numRow + numRow - 2); 所以我们把字符串按照步长切分成一组一组的,然后按照索引去查找: 分组实现过程: index = 0 lst = [] step = numRow + numRow - 2 while index < len(s): end = inde…
//案例: Scanner sc = new Scanner(System.in); System.out.println("你选择了新修改商品功能!"); System.out.println("请输入要修改的商品编号:"); //判断用户输入是否合法: if (sc.hasNextInt()){ //获取用户输入的id,用Integer.parseInt转换类型 int id = Integer.parseInt(sc.nextLine()); //2.查询数据…
1.用正规式using System.Text.RegularExpressions; string pattern = @"^\d+(\.\d)?$";if(Text1.Text.Trim()!=){if(!Regex.IsMatch(Text1.Text.Trim(),pattern)){Text1不是数字:}else{Text1是数字:}}--------------------------------------------------------------------2.用…
一: #计算平均数,中位数和众数 #coding:utf-8 #计算平均数,中位数和众数 import random lst = [random.randint(0,10) for i in range(11)] s = sum(lst) length = len(lst) average = s*1.0 / length print "The average is:",average lst.sort()print "From small to bigger,",…
题目:无重复字符的最长子串. 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3. 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1. 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子…
这是悦乐书的第317次更新,第338篇原创 在开始今天的算法题前,说几句,今天是世界读书日,推荐两本书给大家,<终身成长>和<禅与摩托车维修艺术>,值得好好阅读和反复阅读. 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第186题(顺位题号是796).给定两个字符串A和B,在A上进行移位操作,规则是将A最左边的字符移动到最右边去.例如,如果A ='abcde',那么在A上移位一次后,它将是'bcdea'.当且仅当A在A上移位一定次数后可以变为B时返回True.…
这是悦乐书的第281次更新,第298篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第149题(顺位题号是657).在2D平面上有一个从位置(0,0)开始的机器人.给定其移动序列,判断该机器人在完成移动后是否在(0,0)处结束.移动序列由字符串表示,字符move [i]表示其第i个移动.有效移动是R(右),L(左),U(上)和D(下).如果机器人在完成所有移动后返回原点,则返回true.否则,返回false. 注意:机器人的"朝向"无关紧要. "R…
这是悦乐书的第297次更新,第316篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第165题(顺位题号是704).给定n个元素的排序(按升序)整数数组nums和目标值,编写一个函数来搜索nums中的目标.如果target存在,则返回其索引,否则返回-1.例如: 输入:nums = [-1,0,3,5,9,12],目标= 9 输出:4 说明:9存在于nums中,其索引为4 输入:nums = [-1,0,3,5,9,12],target = 2 输出:-1 说明:2在…
这是悦乐书的第293次更新,第311篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第161题(顺位题号是696).给定一个字符串s,计算具有相同数字0和1的非空且连续子串的数量,并且这些子串中的所有0和所有1都是连续的.重复出现的子串也计算在内.例如: 输入:"00110011" 输出:6 说明:有6个子串具有相同数量的连续1和0:"0011","01","1100","10"…
这是悦乐书的第242次更新,第255篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第109题(顺位题号是485).给定二进制数组,找到此数组中连续1的最大数量.例如: 输入:[1,1,0,1,1,1] 输出:3 说明:前两位或后三位是连续的1.连续1的最大数量为3. 注意: 输入数组只包含0和1. 输入数组的长度是一个正整数,不会超过10,000. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测…
这是悦乐书的第236次更新,第249篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第103题(顺位题号是459).给定非空字符串检查是否可以通过获取它的子字符串并将子字符串的多个副本附加在一起来构造它. 您可以假设给定的字符串仅由小写英文字母组成,其长度不超过10000.例如: 输入:"abab" 输出:true 说明:它是子串"ab"两次. 输入:"aba" 输出:false 输入:"abcabcabca…
这是悦乐书的第228次更新,第240篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第95题(顺位题号是438).给定一个字符串s和一个非空字符串p,找到s中p的字谜的所有起始索引.字符串仅由小写英文字母组成,字符串s和p的长度不会大于20,100.输出顺序无关紧要.例如: 输入:s:"cbaebabacd" p:"abc" 输出:[0,6] 说明: 起始索引等于0的子字符串是"cba",它是"abc&quo…
这是悦乐书的第216次更新,第229篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第84题(顺位题号是401).二进制手表顶部有4个LED,代表小时(0-11),底部的6个LED代表分钟(0-59).每个LED代表一个零或一个,右侧的最低有效位.给定非负整数n表示当前打开的LED数量,返回手表可能代表的所有可能时间.例如: 输入:n = 1 输出:["1:00","2:00","4:00","8:00&qu…
这是悦乐书的第192次更新,第196篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第52题(顺位题号是217).给定一个整数数组,查找数组是否包含任何重复项.如果数组中至少出现两次值,则函数应返回true,如果每个元素都不相同,则返回false.例如: 输入:[1,2,3,1] 输出:true 输入:[1,2,3,4] 输出:false 输入:[1,1,1,3,3,4,3,2,4,2] 输出:true 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8…
这是悦乐书的第183次更新,第185篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第42题(顺位题号是172).给定一个整数n,返回n!中的尾随零数.例如: 输入:3 输出:0 说明:3! = 6,没有尾随零. 输入:5 输出:1 说明:5! = 120,一个尾随零. 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试. 02 第一种解法 特殊情况:当n小于等于0的时候,直接返回0. 先把n的阶乘…
这是悦乐书的第158次更新,第160篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第17题(顺位题号是69). 计算并返回x的平方根,其中x保证为非负整数. 由于返回类型是整数,因此将截断十进制数字,并仅返回结果的整数部分.例如: 输入:4 输出:2 输入:8 输出:2 说明:8的平方根是2.82842 ...,从2以后小数部分被截断,返回2 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试.…