![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
无
潮汕跌猫仔㍿
这个作者很懒,什么都没留下…
展开
-
基本算法
1、使用其他数组存放数组元素的顺序例:五名同学的成绩分别为:43、13、89、52、7解析:先将新数组中的元素全部初始化为1,然后双循环比较元素大小解决问题 代码:FEN = [40,13,89,52,7]RANK = [1]*len(FEN)for i in range(len(FEN)): for j in range(len(FEN)): if FEN[i] < FEN[j]: RANK[i] += 1...原创 2021-05-08 09:37:30 · 134 阅读 · 0 评论 -
基本数据结构
1、堆堆是各节点的值满足以下条件的二叉树。条件:父节点的值不得比子节点的值大(或者父节点的值不得比子节点的值小)原创 2021-05-08 08:55:31 · 149 阅读 · 0 评论 -
牛客刷题:自守数(编程题)
题目描述自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 =625,76^2 =5776,9376^2 =87909376。请求出n以内的自守数的个数输入描述:int型整数输出描述:n以内自守数的数量。输入2000输出8解答:while True: try: n=int(input()) ...原创 2019-07-18 22:07:01 · 1474 阅读 · 0 评论 -
牛客刷题:Number Steps(编程题)
题目描述Starting from point (0,0) on a plane, we have written all non-negative integers 0,1,2, ... as shown in the figure. For example, 1, 2, and 3 has been written at points (1,1), (2,0), and (3, 1) re...原创 2019-07-19 10:41:30 · 187 阅读 · 0 评论 -
牛客刷题:表达式求值(编程题)
题目描述给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。解答:n=input()res=eval(n)print(res)总结:这个题最关键的地方就是eval()函数的使用了。值得注意的是eval() 函数用来执行一个...原创 2019-07-16 21:49:53 · 2822 阅读 · 1 评论 -
牛客刷题:放苹果(编程题)
题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入每个用例包含二个整数M和N。0<=m<=10,1<=n<=10。样例输入7 3样例输出8解答:def pour(m,n): if n==1 or m==0: return 1 elif m<n: ...原创 2019-07-16 22:13:47 · 1115 阅读 · 0 评论 -
牛客刷题:守形数(编程题)
题目描述守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。输入描述:输入包括1个整数N,2<=N<100。输出描述:可能有多组测试数据,对于每组数据,输出"Yes!”表示N是守形数。输出"No!”表示N不是守形数。解答:while True: try: n=int...原创 2019-07-17 18:58:43 · 540 阅读 · 0 评论 -
牛客刷题:写出这个数(编程题)
题目描述读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入描述:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出描述:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入例子:1234567890987654321123456789输出例子:y...原创 2019-07-17 22:18:38 · 219 阅读 · 0 评论 -
牛客刷题:合并两个排序的链表(编程题)
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解答:# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: ...原创 2019-07-24 21:03:02 · 177 阅读 · 0 评论 -
如何求字符串里的最长回文子串
str="abcdefgfedxyz"n=len(str)res=[]for i in range(n): for j in range(i,n): if list(str[i:j+1])==list(reversed(str[i:j+1])): res.append(str[i:j+1])res=list(set(res))max=len(res[0])k=len(re...原创 2019-08-18 15:54:47 · 216 阅读 · 0 评论 -
九大排序算法
1. 选择排序:def select_sort(lists): for i in range(len(lists)): min=i for j in range(i+1,len(lists)): if lists[min]>lists[j]: min=j lists[min]...原创 2019-08-12 11:32:55 · 199 阅读 · 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: ...原创 2019-07-18 21:48:23 · 459 阅读 · 0 评论 -
牛客刷题:左旋转字符串(编程题)
题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!解答:class Solution: def LeftRotateString(self, s...原创 2019-07-16 10:51:24 · 147 阅读 · 0 评论 -
牛客刷题:整数的倒数(编程题)
x=input().strip()if int(x)<=0:print(x[0]+x[-1:0:-1])elif int(x)>0:print(x[-1::-1])1.strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。2.split()方法通过指定分隔符对字符串进行切片。3.首...原创 2019-07-15 19:45:30 · 931 阅读 · 0 评论 -
牛客刷题:获得最多的奖金(编程题)
题目描述:小明在越南旅游,参加了当地的娱乐活动。小明运气很好,拿到了大奖, 到了最后的拿奖金环节。小明发现桌子上放着一列红包,每个红包上写着奖金数额。现在主持人给要求小明在这一列红包之间“切”2刀,将这一列红包“切”成3组,并且第一组的奖金之和等于最后一组奖金和(允许任意一组的红包集合是空)。最终第一组红包的奖金之和就是小明能拿到的总奖金。小明想知道最多能拿到的奖金是多少,你能帮他算算吗。举...原创 2019-07-15 20:15:46 · 892 阅读 · 0 评论 -
牛客刷题:字符串加法(编程题)
题目描述:输入两个字符串a和b,字符串内容为二进制数字,求两个字符串相加的结果,加法计算方法以二进制方式计算,并返回对应的字符串结果。如"1101", “1100”,输出:11001解答:def fanzhuan(n): sum=0 k=0 while n>0: sum=sum+(n%10)*(2**k) k+=1 n=n//10 return sumdef s...原创 2019-07-15 21:48:07 · 1197 阅读 · 0 评论 -
牛客刷题:发工资(编程题)
题目描述对于财务处的工作人员来说,发工资那天是最忙碌的。财务处的NowCoder最近在考虑一个问题:如果每个员工的工资额都知道,最少需要准备多少张人民币,才能在给每位同事发工资的时候都不用找零呢?这里假设员工的工资都是正整数,单位元,人民币一共有100元、50元、20元、10元、5元、2元和1元七种。输入描述:输入数据包含多个测试实例,每个测试实例的第一行是一个整数n (n≤100...原创 2019-07-18 09:43:54 · 1796 阅读 · 0 评论 -
牛客刷题:骆驼命名法(编程题)
题目描述从C/C++转到Java的程序员,一开始最不习惯的就是变量命名方式的改变。C语言风格使用下划线分隔多个单词,例如“hello_world”;而Java则采用一种叫骆驼命名法的规则:除首个单词以外,所有单词的首字母大写,例如“helloWorld”。请你帮可怜的程序员们自动转换变量名。输入描述:输入包含多组数据。每组数据一行,包含一个C语言风格的变量名。每个变量名长度不超...原创 2019-07-18 10:03:49 · 804 阅读 · 0 评论 -
牛客刷题:A除以B(编程题)
题目描述本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。解答:a,b=map(int,input().strip().split(" “))q=a//br=a%bprint(str(q)+” "+str(r))总结:1.这个题其实需要注意的只有一点,就是最后的输出,如果不对r和s进行str转换,是不...原创 2019-07-15 22:13:03 · 477 阅读 · 0 评论 -
牛客刷题:出差(编程题)
题目描述NowCoder是个大忙人,经常要到国外出差。因为各个国家所在的时区不同,他要计算飞机到达目的地后当地的时间,这样才能预约来接机的司机。 你能帮帮他吗?现在给你出发时间、路程、当地时区以及目的地时区,请帮他计算到达目的地的时间。输入描述:输入包含多组数据,每组数据一行。每组数据包含六个整数a、b、c、d、e、f:1. 其中a和b分别表示出发时间的小时和分钟(0 ≤ a ...原创 2019-07-18 10:57:56 · 218 阅读 · 0 评论 -
牛客刷题:二叉树的镜像(编程题)
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义:源二叉树 8 / \ 6 10 /\ /\ 5 7 9 11镜像二叉树 8 / \ 10 6 /\ /\ 11 9 7 5 解:class Solution:# 返回镜像树的根节点 def Mirror(self, root):...原创 2019-07-16 09:18:44 · 163 阅读 · 0 评论 -
牛客刷题:从上往下打印二叉树(编程题)
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。解答:class Solution: # 返回从上到下每个节点值列表,例:[1,2,3] def PrintFromTopToBottom(self, root): # write code here if not root: return [] else: res=[] nodes=[root]...原创 2019-07-16 09:49:18 · 146 阅读 · 0 评论 -
牛客刷题:从尾到头打印链表(编程题)
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解答:class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here p=listNode res=[] while p: res.append(p...原创 2019-07-16 10:07:02 · 126 阅读 · 0 评论 -
牛客刷题:字符串排序(编程题)
m=int(input())a=[]for i in range(m):s=input()res=s[-6:]a.append(int(res))a=sorted(a)for i in a:print(i)陷阱:1.有的测试用例,输入的一个字符串中全部是数字,所以需要注意审题,题目中要求是取每个字符串的后6位。2.得到的后6位字符串,一个一个的放入数组中,将之转换为int型,...原创 2019-07-15 17:00:21 · 606 阅读 · 0 评论