4 ChunxueShi

尚未进行身份认证

通往程序媛的路上……

等级
TA的排名 7w+

python——排序算法实现

1.选择排序原理:对每⼀个位置从序列中依次选择出在该位置的元素。(例如,选出最大值放在最后一个位置,选出第二大的元素放在倒数第二个位置)python代码实现:#coding=utf-8defsel_sort_rec(seq,n):ifn==0:#边界条件return...

2019-05-11 13:07:51

python——递归方法解决汉诺塔问题

汉诺塔移动规则:▪每次只能移动⼀个盘⼦▪移动过程中,⼩的盘⼦不能处于⽐它⼤的盘⼦下⾯解题思路:▪不妨设有函数hanoi()可以求解该问题,函数参数如何设计?–函数hanoi(n,S=‘A’,T=‘B’,H=‘C’)可以求解该问题,其中n为盘⽚数,A,B和C分别为三个柱⼦,S表⽰出发的柱⼦,T为⽬的柱,H为过渡⽤柱⼦python代码:...

2019-05-11 11:46:55

python——递归方法解决全排列问题

题目描述:▪输⼊的字符s=“ABC”,由字符A,B和C组成的全排列为–[“ABC”,“ACB”,“BAC”,“BCA”,“CAB”,“CBA”]解题思路:▪不妨设求解原问题的函数为permutation(s)▪如何将问题进行分解形成子问题,从而可以寻求朋友的帮助?python代码如下:⚠️对于长度为n的字符串,共有n!个全排列,因此代码的时间复杂度为...

2019-05-11 11:21:10

python——递归方法判断回文字符串

题目描述:▪回文定义:⼀个正向和反向读是相同的字符串–level,noon–蜜蜂酿蜂蜜,静泉⼭上⼭泉静,上海⾃来⽔来⾃海上▪当给定⼀个字符串str,需要判断该字符串是否为回⽂–如果是回⽂返回True,否则返回False解题思路:▪不妨设已经有⼀个函数is_palindrome(s)可以⽤来求解该问题▪不妨设s=’level’▪如何将is_palindrom...

2019-05-11 11:09:54

python——《剑指 offer》面试题7:重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路:1.在二叉树的前序遍历序列中,第一个数字总是树的根结点的值;2.在中序遍历序列中,根结点的值总是在序列的中间,左子树的节点的值位于...

2019-05-05 20:51:37

python——《剑指 offer》面试题6:从尾到头打印链表

题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。解题思路:将链表中从头到尾的各个节点中的值存在list中,再逆序返回。#-*-coding:utf-8-*-#classListNode:#def__init__(self,x):#self.val=x#self.next=None...

2019-05-05 19:41:04

python——《剑指 offer》面试题5:替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy。解题思路:为了减少时间复杂度,先遍历一遍字符串,统计空格的个数,从而计算出新字符串的长度,然后设置两个指针,分别从新旧字符串的尾部开始依次移动,如果遇到字符,那么就直接复制过来指针向前移动一个单位,如果遇到空格,则将‘%’...

2019-05-05 17:16:48

百度2017秋招真题——提利昂的赏赐

题目描述:提利昂收服山地部落之后决定犒赏士卒,本着陈力就列的原则,他决定给五种人以赏赐:1.作战能力>80,并且至少有一项特殊能力的人,每人8000银鹿2.作战能力>85,并且声望>80的人,每人4000银鹿3.作战能力>90,每人2000银鹿4.作战能力>85的灼人部成员每人1000银鹿5.声望>80的军官每人850银鹿。提利昂想要尽量多的犒赏部下,所以只要满足条件即可得到奖赏,...

2019-04-23 12:53:50

百度2017秋招真题——士兵队列

题目描述:一队士兵在操场上排成一列,士兵总数为n,士兵按照队伍从前往后的顺序从1到n依次编号。每个士兵有各自的身高,第i个士兵的身高为ai。士兵列队完毕后,将军走到队列的最前面。因为身高不一,有些士兵可能被前面身高更高的挡住了,这样将军就看不到他们。将军能看到某个士兵当且仅当他的身高严格大于他前面的所有士兵。问将军一共能看到多少个士兵。输入第一行输入一个整数T(T<=100),表示测试...

2019-04-23 11:32:58

小马智行Pony.ai算法实习生笔试题3——求相邻数字经K次交换得到的最大值

题目描述:数组中存储了一堆小于10的非负整数,整个数组从左到右代表一个正整数(如数组[0,1,3,2]代表正整数132)。现给出一个正整数K,要求经过K次数组相邻位置元素交换(必须完成K次交换),使得这个数组代表的数字最大。例如,intarray[]={0,1,3,2},K=1,则经过1次交换后,数组能代表的最大值为1032;intarray[]={0,1,3,2},K=2,则经过...

2019-04-22 19:24:46

实现梯度下降算法——一个单层的神经网络来完成分类器的正确分类

在该Lab中,我们将实现梯度下降算法的基本函数,以便在小数据集中查找数据边界。首先,我们将从一些函数开始,帮助我们绘制和可视化数据。importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspd#Somehelperfunctionsforplottinganddrawinglinesd...

2019-04-17 16:29:36

梯度下降——梯度计算

为了最小化误差函数,我们需要获得一些导数。我们开始计算误差函数的导数吧。首先要注意的是s型函数具有很完美的导数。即σ'(x)=σ(x)(1-σ(x))原因是,我们可以使用商式计算它:...

2019-04-17 11:21:24

python编写softmax函数、交叉熵函数

python代码如下:importnumpyasnp#Writeafunctionthattakesasinputalistofnumbers,andreturns#thelistofvaluesgivenbythesoftmaxfunction.defsoftmax(L):passexpL=np.exp...

2019-04-17 10:24:26

Numpy中的数据

python很方便,但也会很慢。不过它允许你访问执行用C等语言写的代码的库。Numpy就是这样一个库:它为python中的数学运算提供了一个更快速的替代方案,可以与数字组高效搭配使用,如矩阵。Numpy是一个很大型的库。1.导入Numpyimportnumpyasnp之后就可以给函数和类型名称加上前缀np.来使用该库。2.数据类型和形状Numpy中处理数字的常见方式是通...

2019-04-16 15:02:07

重识Anaconda

conda并非像pip那样专门适用于python,它可以安装非python的包。conda还是虚拟环境管理器,类似于virtualenv和pyenv。我们可以将包列表导出为文件,将该文件与代码打包在一起。pip中类似的功能为pipfreeze>requirement.txt(安装命令:pipinstall-rrequirements.txt)一些常用的con...

2019-04-16 11:37:04

《剑指 offer》面试题4:二维数组中的查找

题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:首先选取数组中右上角的数字,存在以下3种情况:(1)如果该数字等于要查找的数字:则查找过程结束;(2)如果该数字大于要查找的数字:则剔除这个数字所在的列;(3)如果...

2019-04-10 22:22:21

《剑指 offer》——不修改数组找出重复的数字

题目描述:不修改数组找出重复的数字在一个长度为N+1的数组里面的所有数字都在范围1~N范围内,所以数组至少有一个数字是重复的,请找出重复数字,但是不能修改输入的数组。#-*-coding:utf-8-*-classSolution:defcountRange(numbers,l,start,end):l=len(numbers)...

2019-04-09 22:07:11

《剑指 offer》面试题3:数组中重复的数字

题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。python实现:#-*-coding:utf-8-*-classSolution:...

2019-04-09 21:34:32

Linux常用命令总结

系统信息cat/proc/cpuinfo显示CPUinfo的信息cat/proc/version显示内核的版本 cat/proc/net/dev显示网络适配器及统计lsusb-tv显示USB设备 date显示系统日期 cal2018 显示2018年的日历表 date041217002007.00设置日期和时间-月日时分年.秒 关机(系统...

2018-12-14 15:58:18

python-除法测试

2018-10-17 18:21:22

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。