华为计试
题目描述
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述
一行字符串,非空,长度小于5000。
输出描述
整数N,最后一个单词的长度。
示例1
输入
hello world
输出
5
import sys s=sys.stdin.readline() len=len(s.split()[-1:][0]) print (len)
写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。弄了好长时间,最后是java在OJ上面的输入输出的问题,题目容易,直接上代码
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); String str = sc.nextLine(); String word = sc.nextLine(); int count=0; for(int i=0;i<str.length();i++) { if(str.substring(i,i+1).equalsIgnoreCase(word)) { count++; } } System.out.println(count); } }
明明的随机数
题目描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。
Input Param
n 输入随机数的个数
inputArray n个随机整数组成的数组
Return Value
OutputArray 输出处理后的随机整数
注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。
输入描述:
输入多行,先输入随机整数的个数,再输入相应个数的整数
输出描述:
返回多行,处理后的结果
import sys while True: try: num = int(sys.stdin.readline()) s = set() L = [] for i in range(num): x = int(sys.stdin.readline()) L.append(x) re = sorted(list(set(L))) for x in re: print (x) except: break
字符串分割:
def split_string(string): string_list = [] if len(string) <= 8: string_list.append(string + \'0\' * (8 - len(string))) return string_list while len(string) > 8: temp = string[0:8] string = string[8:] string_list.append(temp) if len(string) > 0: string_list.append(string + \'0\' * (8 - len(string))) return string_list #main s1 = input() s2 = input() s1_list = split_string(s1) s2_list = split_string(s2) for element in s1_list: print(element) for element in s2_list: print(element)
进制转换
while True: try: x_num = input()[2:] d_num = 0 length = len(x_num) for i in range(length): if x_num[i] == \'A\': d_num += 10 * 16 ** (length - 1 - i) elif x_num[i] == \'B\': d_num += 11 * 16 ** (length - 1 - i) elif x_num[i] == \'C\': d_num += 12 * 16 ** (length - 1 - i) elif x_num[i] == \'D\': d_num += 13 * 16 ** (length - 1 - i) elif x_num[i] == \'E\': d_num += 14 * 16 ** (length - 1 - i) elif x_num[i] == \'F\': d_num += 15 * 16 ** (length - 1 - i) else: d_num += int(x_num[i]) * 16 ** (length - 1 - i) print(d_num) except: break
质数因子 python2
import sys while True: try: num = int(raw_input()) i = 2 while num !=1: if num%i==0: print (i,) num=num/i else: i+=1 print (\'\') except: break
取近似值 python2
import sys import math import string while True: try: num = string.atof(raw_input()) r = int(round(num)) print r except: break
合并表记录python2
while True: try: num = int(raw_input()) d = {} for i in range(num): kv = raw_input().split() k,v = int(kv[0]),int(kv[1]) if k in d: d[k] = v + d[k] else: d[k] = v #print d its = d.items() its.sort() for m,n in its: print m,n except: break
提取不重复的整数
s = raw_input() s = list(s) s.reverse() L = [] for x in s: if x not in L: L.append(x) print "".join(L)
字符个数统计c++14
# include<iostream> # include<string> using namespace std; int main() { string str; getline(cin, str); int iMax = str.length(); int table[128] {0}; int iCount = 0; for (int i = 0; i < iMax; i++) { if (table[str.at(i)]) { continue; } else { table[str.at(i)] = 1; iCount += 1; } } cout << iCount << endl; return 0; }
数字、字符串颠倒python2
s = list(raw_input()) s.reverse() print "".join(s)
句子逆序 java
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str=sc.nextLine(); String[] ans=str.split(" "); for(int i=ans.length-1;i>=1;i--) { System.out.print(ans[i]+" "); } System.out.println(ans[0]); } }
字符串最长路径查找
s=input() lis=[] for i in range(int(s)): lis.append(input()) lis.sort() for i in range(int(s)): print(lis[i],end=\'\n\')