算法
无情Array
这个作者很懒,什么都没留下…
展开
-
移除链表元素
删除链表中等于给定值val的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5解法1:迭代# Definition for singly-linked list.# class ListNode:# def __init__(sel...原创 2019-10-31 14:57:37 · 254 阅读 · 0 评论 -
删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组中超出新长度...原创 2019-10-23 16:26:13 · 199 阅读 · 0 评论 -
矩阵置零
题目描述:给定一个mxn的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例1:输入:[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例2:输入:[[0,1,2,0],[3,4,5,2],[1,3...原创 2019-10-21 21:25:44 · 360 阅读 · 0 评论 -
加一
题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数...原创 2019-10-21 14:54:22 · 118 阅读 · 0 评论 -
判断两个IP是否属于同一子网
题目描述子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为“1”和主机号部分全为“0”。利用子网掩码可以判断两台主机是否中同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。示例:IP地址 192.168.0.1子网掩码 255.255.255...原创 2018-08-01 09:09:12 · 2846 阅读 · 2 评论 -
输出单向链表中倒数第k个结点
题目描述输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。详细描述:接口说明原型:ListNode* FindKthToTail(ListNode* pListHead, unsignedint k);输入参数: ListNode* pListHead 单向链表 unsigned int k 倒数第k个结点...原创 2018-08-02 08:27:28 · 404 阅读 · 0 评论 -
计算字符串的距离
题目描述Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。Ex:字符串A:abcdefg字符串B: abcdef通过增加或是删掉字符”g”...原创 2018-08-02 08:27:39 · 832 阅读 · 0 评论 -
iNOC产品部-杨辉三角的变形
题目描述 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的...原创 2018-08-02 08:27:48 · 144 阅读 · 0 评论 -
表达式求值
题目描述给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。输入描述:输入算术表达式输出描述:计算出结果值输入:400+5输出:405代码如下:while True: try: ...原创 2018-08-02 08:27:57 · 284 阅读 · 0 评论 -
挑7
题目描述输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数(一组测试用例里可能有多组数据,请注意处理)输入描述:一个正整数N。(N不大于30000)输出描述:不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.输入:20输出:3代码如下:while True: ...原创 2018-08-02 08:28:04 · 249 阅读 · 1 评论 -
iNOC产品部--完全数计算
题目描述完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 < n <= ...原创 2018-08-02 08:28:12 · 319 阅读 · 0 评论 -
无线OSS-高精度整数加法
题目描述在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,参与运算的操作数和结果必须在-2^31~2^31-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下:9876543210 + 1234567890 = ?让字符串 num1="9876543210",字符...原创 2018-08-02 08:28:19 · 138 阅读 · 0 评论 -
输入n个整数,输出其中最小的k个
题目描述输入n个整数,输出其中最小的k个。详细描述:接口说明原型:bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);输入参数:unsignedint uiInputNum //输入整数个数int * pInputArray //输...原创 2018-08-02 08:28:27 · 1245 阅读 · 0 评论 -
四则运算
题目描述请实现如下接口 /* 功能:四则运算 * 输入:strExpression:字符串格式的算术表达式,如: "3+2*{1+2*[-4/(8-6)+7]}" * 返回:算术表达式的计算结果 */ public static int calculate(String strExpression) { ...原创 2018-08-02 08:27:13 · 524 阅读 · 0 评论 -
多线程
题目描述问题描述:有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由线程函数1的参数指定。[注:C语言选手可使用WINDOWS SDK库函数]接口说明:void init(); //初始化函数void Release(); ...原创 2018-08-02 08:26:49 · 111 阅读 · 0 评论 -
从单向链表中删除指定值的节点
题目描述输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。详细描述:本题为考察链表的插入和删除知识。链表的值不能重复构造过程,例如1 <- 23 <- 25 <- 14 <- 57 <- 2最后的链表的顺序为 2 7 3 1 5 4删除 结点 2则结果为 7 3 1 ...原创 2018-08-01 10:02:08 · 860 阅读 · 0 评论 -
输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
题目描述输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。输入描述:输入一行字符串,可以有空格输出描述:统计其中英文字符,空格字符,数字字符,其他字符的个数输入:1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][输出:2631012代码如下:def cnt(s): a =...原创 2018-08-01 09:09:19 · 565 阅读 · 0 评论 -
称砝码
题目描述现有一组砝码,重量互不相等,分别为m1,m2,m3…mn;每种砝码对应的数量为x1,x2,x3...xn。现在要用这些砝码去称物体的重量(放在同一侧),问能称出多少种不同的重量。注:称重重量包括0输入描述:输入包含多组测试数据。对于每组测试数据:第一行:n --- 砝码数(范围[1,10])第二行:m1 m2 m3 ... mn --- 每个砝码的重量(...原创 2018-08-01 09:09:27 · 646 阅读 · 0 评论 -
字符个数统计
题目描述编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。输入描述:输入N个字符,字符在ACSII码范围内。输出描述:输出范围在(0~127)字符的个数。例如:输入:abc 输出:3代码如下:string=input()s=set()for i in string: ...原创 2018-07-27 19:26:01 · 124 阅读 · 0 评论 -
数字颠倒
题目描述描述:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出例如:输入:1516000 输出:0006151代码如下:a=input()s=str(a)lis=[]for...原创 2018-07-27 19:32:28 · 262 阅读 · 0 评论 -
学英语
题目描述Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文:如22:twenty two,123:one hundred and twenty three。说明:数字为正整数,长度不超过九位,不考虑小数,转化结果为英文小写;输出格式为twenty two;非法数据请返回“error”;关键字提示:and,billion,million,thousand,...原创 2018-08-01 09:14:53 · 222 阅读 · 0 评论 -
迷宫问题
题目描述定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,}...原创 2018-08-01 09:17:54 · 240 阅读 · 0 评论 -
名字的漂亮度
题目描述给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。 给出多个名字,计算每个名字最大可能的“漂亮度”。 输入描述:整数N,后续N个名字输出描述:每个名称可能的最大漂亮程度输入:2zhangsanlisi输...原创 2018-08-01 09:25:07 · 112 阅读 · 0 评论 -
按字节截取字符串
题目描述编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 输入描述:输入待截取的字符串及长度输出描述:截取后的字符串输入:我ABC汉DEF6输出:我ABC代码如下:while T...原创 2018-08-01 09:35:44 · 822 阅读 · 0 评论 -
线性插值
题目描述信号测量的结果包括测量编号和测量值。存在信号测量结果丢弃及测量结果重复的情况。 1.测量编号不连续的情况,认为是测量结果丢弃。对应测量结果丢弃的情况,需要进行插值操作以更准确的评估信号。 采用简化的一阶插值方法,由丢失的测量结果两头的测量值算出两者中间的丢失值。 假设第M个测量结果的测量值为A,第N个测量结果的测量值为B。则需要进行(N-M-1)个测量结果的插值处理。...原创 2018-08-01 09:49:30 · 788 阅读 · 0 评论 -
找出字符串中第一个只出现一次的字符
题目描述找出字符串中第一个只出现一次的字符输入描述:输入一个非空字符串输出描述:输出第一个只出现一次的字符,如果不存在输出-1输入:asdfasdfo输出:o代码如下:while True: try: res = input() count = [] for i in res: ...原创 2018-08-03 09:36:43 · 125 阅读 · 0 评论 -
查找组成一个偶数最接近的两个素数
题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对输入描述:输入一个偶数输出描述:输出两个素数输入:20输出:713代码如下:import mathdef isprime(n): for i in range(2, int(math.sqrt(n)) +...原创 2018-08-03 09:36:53 · 174 阅读 · 0 评论 -
(PAT)写出这个数
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^100^。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu代码如下:...原创 2018-08-23 17:19:22 · 282 阅读 · 0 评论 -
(PAT)害死人不偿命的(3n+1)猜想
卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教...原创 2018-08-22 17:08:56 · 250 阅读 · 0 评论 -
24点游戏算法
题目描述问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利输入:4个1-10的数字。[数字允许重复,但每个数字仅允许使用一次,测试用例保证无异常数字]输出:true or false输入描述:输入4个int整数输出描述:返回能否得到24点,能输出true,不能输出false输入:7 2 1 10输出:true代码如下:def...原创 2018-08-03 09:37:45 · 2702 阅读 · 0 评论 -
查找输入整数二进制中1的个数
题目描述输入5 ,5的二进制为101,输出2输入描述:输入一个整数输出描述:计算整数二进制中1的个数代码如下:while 1: try: a = int(input()) b = bin(a)[2:] tmp = 0 for i in b: if i=='1': ...原创 2018-08-03 09:37:08 · 274 阅读 · 0 评论 -
DNA序列
题目描述一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。输入描述:输入一个stri...原创 2018-08-03 09:37:15 · 1190 阅读 · 0 评论 -
MP3光标位置
题目描述MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下: 歌曲总数<=4的时候,不需要翻页,只是挪动光标位置。 光标在第一首歌曲上时,按Up键光标挪到最后一首歌曲;光标在最后一首歌曲时,...原创 2018-08-03 09:37:24 · 138 阅读 · 0 评论 -
查找两个字符串a,b中的最长公共子串
题目描述查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。输入描述:输入两个字符串输出描述:返回重复出现的字符输入:abcdefghijklmnopabcsafjklmnopqrstuvw输出:jklmnop代码如下:while True: try: str1 = input() ...原创 2018-08-03 09:37:31 · 958 阅读 · 0 评论 -
配置文件恢复
题目描述有6条配置命令,它们执行的结果分别是:<colgroup><col style="width&#58;181px&#59;" width="181"/><col style="width&#58;347px&#59;" width="346"/></co原创 2018-08-03 09:37:39 · 176 阅读 · 0 评论 -
成绩排序
题目描述查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack...原创 2018-08-03 09:37:53 · 550 阅读 · 0 评论 -
矩阵乘法
题目描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的: 原型:voidmatrix_multiply(int *m1,int *m2,int *r, int x, int y, int z);输入参数: int *m1:x行y列的矩阵(array1[x][y]) int...原创 2018-08-04 09:26:34 · 196 阅读 · 0 评论 -
矩阵乘法计算量估算
题目描述矩阵乘法的运算量与矩阵乘法的顺序强相关。例如: A是一个50×10的矩阵,B是10×20的矩阵,C是20×5的矩阵计算A*B*C有两种顺序:((AB)C)或者(A(BC)),前者需要计算15000次乘法,后者只需要3500次。编写程序计算不同的计算顺序需要进行的乘法次数输入描述:输入多行,先输入要计算乘法的矩阵个数n,每个矩阵的行数,列数,总共2n的数,最后...原创 2018-08-04 09:26:48 · 4157 阅读 · 0 评论 -
放苹果
题目描述题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入每个用例包含二个整数M和N。0<=m<=10,1<=n<=10。样例输入7 3样例输出8/*** 计算放苹果方法数目* 输入值非法时返回-1* 1 <= m,n &l...原创 2018-08-03 09:37:01 · 144 阅读 · 0 评论 -
进制转换
题目描述写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。输入:0xA输出:10代码如下:while True: try: print(int(input(),16)) except: break...原创 2018-07-28 17:57:05 · 96 阅读 · 0 评论