算法分析与设计实验——最大公约数
最大公约数取函数名为gcd(a,b),假定a>b方法一:暴力求解法伪代码:gcd(a,b) for 1←b to i if (a mod i==0) and (b mod i==0) return iC++代码:#include <iostream>
using namespace std;
int min(int a,int b){
return a>b?b:a;...
算法分析与设计实验——汉诺塔
汉诺塔问题 假定A、B、C三根柱子。现将A柱上n个圆盘移动到C柱上,一次移动一个盘子,且每个盘子上必不能放比它大的盘子。因可以借助中间柱完成移动,目标柱仅为C柱,因此在本题中A柱与B柱本质上是等价的,它们可以互相作为对方的中间柱。据此可以运用问题降阶的思想。已知仅有1个盘子时,就只需将其从A柱直接移动到C柱,那么假定起始为4个盘子的情况下,可以利用中间柱将最大的盘子移到目标柱后,降为3阶问题,再以...
牛客网7:旋转数组的最小数字
题目描述
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。
class Solution:
def minNumberInRotateArray(self, ...
牛客网8:斐波那契数列
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
if n==0:
return 0
if n ==1...
牛客网10:变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
class Solution:
def jumpFloorII(self, n):
# write code here
return pow(2,n-1)...
牛客网11:合并两个排序的链表
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# 返回合并后列表
def Merge(self,...
牛客网12:树的子结构
题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None...
牛客网13:二叉树的镜像
题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# 返回镜像树的根节点
def Mirror...
牛客网14:包含min函数的栈
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack=[]
self.min_stack = []
#将栈分为两部分,一部分是一个最小值,另一部分是所有值
def ...
牛客网15:栈的压入、弹出序列
题目描述
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)
class Solution:
def IsPopOrder(self, pu...
牛客网16:从上往下打印二叉树
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# 返回从上到下每个节点值列表,例:[1...
牛客网17:二叉树中和为某一值的路径
题目描述
输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = No...
牛客网18:复杂链表的复制
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
# -*- coding:utf-8 -*-
# class RandomListNode:
# def __init__(self, x):
# self....
牛客网19:字符串的排列
题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
# -*- coding:utf-8 -*-
import itertools
class Solution:
def Permutation(self, ss):
# write co...
什么是先验概率、后验概率和贝叶斯公式
验前概率就是通常说的概率,验后概率是一种条件概率,但条件概率不一定是验后概率。贝叶斯公式是由验前概率求验后概率的公式。
举一个简单的例子:一口袋里有3只红球、2只白球,采用不放回方式摸取,求:
⑴ 第一次摸到红球(记作A)的概率;
⑵ 第二次摸到红球(记作B)的概率;
⑶ 已知第二次摸到了红球,求第一次摸到的是红球的概率。
解:⑴ P(A)=3/5,这就是验前概率;
⑵ P(B)=P(...
Tensorflow(一)
import tensorflow as tf
import numpy as np
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1 + 0.3
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
biases = tf.Variable(tf.zero...
Python读取麦克风并实时FFT
这是本人在csdn的第一篇博文,以前的博客是http://kken0206.blog.163.com/
旧博客基本上是自己玩的,163博客圈十分窄。今天发现系统还会自动删评论,一怒之下,决定要换了。
在此慢慢积累和互联网有关的知识。。
一、环境
XP Python 3.4
二、安装必须包:
1、安装python3.4
2、https://pypi.org搜索pyaudio并p...
今日推荐
周排行