自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大宇的专栏

微信号:LATE-_-

  • 博客(118)
  • 资源 (3)
  • 收藏
  • 关注

原创 5、二分查找

1、问题描述给定一个排序的整数数组(升序)和一个要查找的目标整数 target ,查找到 target 第一次出现的下标(从 0 开始),如果 target 不存在于数组中,返回 -1。2、问题示例输入数组 [ 1, 4, 4, 5, 7, 7, 8, 9, 9, 10 ] 和目标整数 1,输出其所在位置为 0,即第一次出现在第 0 个位置。输入数组 [ 1, 2, 3, 3, 4, 5, 10 ] 和目标整数 3,输出 2,即第一次出现在第 2 个位置。输入数组 [ 1, 2,..

2021-01-15 00:54:00 229

原创 4、相对排名

1、问题描述问题描述:合并两个升序的整数数组A和B,形成一个新的数组,新数组也要有序。2、问题示例输入A[1],B=[1],输出[1, 1],返回合并后的数组。输入A=[2, 4, 6, 7],B=[1, 3, 5, 9],输出[1, 2, 3, 4, 5, 6, 7, 9],返回合并所有元素后的数组。3、代码实现1)假设分数数组 nums = [ 37, 98, 56, 77 ] ;2)新建对象 score,以分数作为键,所处下标位置作为值,得到 score =...

2021-01-07 22:15:58 456

原创 3、根据偏移量移动字符串

1、问题描述问题描述:给定一个字符串和一个偏移量,根据偏移量原地从左向右旋转字符串。2、问题示例输入str="abcdefg",offset=3,输出“efgabcd”,返回旋转后的字符串。3、代码实现class Solution: def rotateString(self, s, offset): length = len(s) if length > 0: offset = offset % l...

2021-01-03 13:56:52 1191

原创 2、合并排序数组

1、问题描述问题描述:合并两个升序的整数数组A和B,形成一个新的数组,新数组也要有序。2、问题示例输入A[1],B=[1],输出[1, 1],返回合并后的数组。输入A=[2, 4, 6, 7],B=[1, 3, 5, 9],输出[1, 2, 3, 4, 5, 6, 7, 9],返回合并所有元素后的数组。3、代码实现,class Solution: def mergeSortedArray(self, A, B): i, j = 0, 0

2020-12-31 15:46:31 1093 1

原创 1、反转一个三位整数

1、问题描述反转一个只有三位数的整数。2、问题示例输入number=123,输出321;输入number=900,输出9.3、代码实现class Solution: def reverseInteger(self, number): a = int(number / 100) b = int(number % 100 / 10) c = int(number % 10) return 100 * c + 10 .

2020-12-31 15:40:19 1560

原创 10、极差

通过取最大和最小数字之间的差值来计算极差。极差告诉我们一组数字中的两个极端值之差。def find_range(numbers): lowest = min(numbers) highest = max(numbers) r = highest - lowest return lowest, highest, rif __name__ == '__main__': donations = [100, 60, 70, 900, 100, 200, ...

2020-06-15 13:13:23 685

原创 9、众数

众数,一组数字中出现频率最多的数。使用 c 指代 Counter 对象most_common() 返回一个列表,每个成员都是一个元组。每个元组中的第一个元素是最频繁出现的数字,第二个元素是出现的次数。from collections import Counterdef calculate_mode(numbers): c = Counter(numbers) # 参数为返回的元组个数,1 表示返回一个,2 表示返回两个,按频数高到低顺序返回 m...

2020-06-15 13:11:23 400

原创 8、中位数

对数字进行升序排列如果数字列表长度是奇数,则列表中间的数字是中位数;如果数字列表长度是偶数,则取两个中间数的均值作为中位数。def calculate_median(numbers): n = len(numbers) numbers.sort() if n % 2 == 0: m1 = n / 2 m2 = n / 2 + 1 m1 = int(m1) - 1 m2 = int(m2) - 1 ...

2020-06-15 13:02:06 626

原创 7、均值 mean

求一组数字的平均值def calculate_mean(numbers): s = sum(numbers) n = len(numbers) mean = s / n return meanif __name__ == '__main__': donations = [100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000, 1200] mean = calculate_mean(donati..

2020-06-15 12:59:46 583

原创 6、抛物运动

初始速度:u与地面的角度:theta水平速度:ux = u * cos(theta)垂直速度:uy = u * sin(theta) - gt水平距离:sx = ux * t = u * cos(theta) * t垂直距离:sy = uy * t - 0.5 * g * t * t = u * sin(theta) * t - 0.5 * t * t最高点时,uy = 0, u * sin(theta) = gt, t = u * sin(theta) / g...

2020-06-15 12:57:43 1529

原创 5、牛顿万有引力定律

import matplotlib.pyplot as pltdef draw_graph(x, y): plt.plot(x, y, marker='o') plt.xlabel('Distance in meters') plt.ylabel('Gravitational force in new tons') plt.title('Gravitational force and distance') plt.show()def generate_F.

2020-06-15 12:24:50 512

原创 4、比较纽约市的月平均气温

import matplotlib.pyplot as pltdef create_graph(): nyc_temp_2000 = [31.3, 37.3, 47.2, 51.0, 63.5, 71.3, 72.3, 72.7, 66.0, 57.0, 45.3, 31.1] nyc_temp_2006 = [40.9, 35.7, 43.1, 55.7, 63.1, 71.0, 77.9, 75.8, 66.6, 56.2, 51.9, 43.6] nyc_temp_20.

2020-06-15 12:21:56 513

原创 3、求二次方程的根

def roots(a, b, c): D = (b * b - 4 * a * c) ** 0.5 x_1 = (-b + D) / (2 * a) x_2 = (-b - D) / (2 * a) print('x1: {0}'.format(x_1)) print('x2: {0}'.format(x_2))if __name__ == '__main__': a = input('Enter a: ') b = input('Ente.

2020-06-15 12:20:13 295

原创 2、华氏温度 F 与摄氏温度 C 的转换

摄氏温度:C = (F - 32) * (5 / 9)华氏温度:F = C * (9 / 5) + 32def print_menu(): print('1. C to F') print('2. F to C')def c_f(): C = float(input('Enter temperature in C: ')) F = C * (9 / 5) + 32 print('temperature in F: {0}'.format(F)).

2020-06-15 12:19:33 3792

原创 1、英里与千米的转换

1 英里大约等于 1.609 千米def print_menu(): print('1. Kilometers to Miles') print('2. Miles to kilometers')def km_miles(): km = float(input('Enter distance in kilometers: ')) miles = km / 1.609 print('Distance in miles: {0}'.format(miles

2020-06-15 12:17:36 5908 2

原创 12、缓动效果

缓动是指物体滑动到目标点就停止。 实现缓动策略:为运动确定一个比例系数,这是一个小于1且大于0的小数 let easing = 0.05; 确定目标点,假设为canvas中心点位置 let targetX = canvas.width / 2;let targetY = canvas.height / 2; 计算出物体(小球 ball )与目标点(ca...

2019-06-23 23:00:17 347

原创 11、投掷物体

投掷物体,用鼠标选中一个物体,拖拽着它向某个方向移动,松开鼠标后物体沿着拖拽的方向继续移动。 在投掷物体时,必须在拖拽物体的过程中计算物体的速度向量,并在释放物体时将这个速度向量赋给物体。例如以每帧10个像素的速度向右拖拽物体,那么在释放物体时,他的速度向量应该是 vx = 10。 在拖拽物体时,它会在每一帧拥有一个新的位置。用当前帧的位置减去上一帧的位置,就可以计算出...

2019-06-20 18:48:36 472

原创 10、鼠标拖拽对象

通过不断更新物体的坐标位置使其追随鼠标指针的位置,就可以实现在canvas元素上拖拽物体。 1、捕捉 mousedown 事件,判断鼠标坐标是否在物体所在的坐标范围内; 2、如果是,则表示鼠标点击在物体上,此时为 canvas 添加 mousemove 事件的处理程序,并在该处理程序内将物体的 x、y 坐标更新为鼠标指针当前的坐标位置; 3、最后,在 mous...

2019-06-20 14:41:42 403

原创 9、摩擦力

摩擦力是与速度向量相反的力,模拟摩擦力时,沿着速度向量的方向减去与摩擦力相等的大小。这里注意的一点,不能分别在 x、y 轴上减小速度向量,因为如果物体正沿着某个角度运动,就会出现物体在某条轴上的速度降为零,而继续在另一条轴上运动的奇怪现场。1、将 vx 与 vy 平方后求和,再开平方;再通过计算 Math.atan2(vy, vx) 获得角度:let speed = Mat...

2019-06-17 23:00:49 619

原创 8、跟随鼠标移动的箭头 - 加速运动

利用canvas绘制一个箭头 arrow,令箭头时刻朝向鼠标所在的方向,并缓慢向鼠标方向移动。1、求出鼠标所在位置与箭头所在位置的 x、y 坐标轴的距离:dx = mouse.x - arrow.x;dy = mouse.y - arrow.y;2、利用 atan2 反正切函数,求出鼠标与箭头所连成的直线的角度:angle = Math.a...

2019-06-10 17:44:51 333

原创 7、跟随鼠标移动的箭头 - 匀速运动

利用canvas绘制一个箭头 arrow,令箭头时刻朝向鼠标所在的方向,并缓慢向鼠标方向移动。1、求出鼠标所在位置与箭头所在位置的 x、y 坐标轴的距离: dx = mouse.x - arrow.x; dy = mouse.y - arrow.y;2、利用 atan2 反正切函数,求出鼠标与箭头所连成的直线的角度: angle = Math.a...

2019-06-04 21:18:44 633

原创 6、利用三角函数求物体速度分解到 x 轴和 y 轴上的分速度

一个物体以每帧1像素的速度向45度的方向移动,我们把该速度分解成x轴和y轴上的速度vx和vy,物体位于x轴上的边和y轴上的边,与物体的运动轨迹形成一个直角三角形,,三角形的两条邻边恰好落在x、y轴上。事实上,x轴上的直角边等于物体在x轴上所要移动的距离,而y轴上的直角边则是物体在y轴上所要移动的距离。 在已知角度为45度,斜边长为1个像素的情况下,可以利用三角函数计算出vx和vy...

2019-06-04 15:18:15 3085

原创 5、canvas 渐变填充色

渐变填充色,包含至少两种颜色。图形的一部分以一种颜色开始,然后渐渐地变成另一种颜色,在其变化过程中,会经历一种或多种预定义的颜色。 canvas 支持两种渐变填充:线性渐变 或 放射性渐变。 线性渐变填充:渐变色在一条直线上从一个点延伸到另一个点。使用 context.createLinearGradient( x1, y1, x2, y2 ) 方法将沿着点(x1...

2019-06-03 00:29:28 1771

原创 4、使用 lineTo 和 moveTo 绘制路径

canvas 上下文总是持有一条唯一的当前路径。一条路径可以拥有零条或多条子路径,每条子路径由一系列通过直线或曲线相连的点构成。 如果一条路径的终点和起点间首位相连,这条路径成为闭合路径。 调用 context.beginPath() 即可表示你想开始绘制一条新的路径。 一条路径只不过是构成一条线的一系列坐标位置,为了将它渲染到 canvas 上,需要调用 c...

2019-06-02 22:24:14 2709

原创 超市找零方案

实现超市的找零方案,只需输入需要补给顾客的金额,然后通过程序计算该金额可以由哪些金额的人民币组成。分析: 人民币有100、50、10、5、1、0.5、0.1 等多种面额(单位为元)。1、定义面额值的数组,为方便计算,将数额乘以100,数组如下: pervalue = [10000, 5000, 1000, 500, 100, 50, 10]2、定义面额...

2019-06-02 16:46:35 2623

原创 3、圆周运动与椭圆运动

结合正弦函数与余弦函数,实现物体的圆周运动、分析:我们绘制一个球体ball1、在水平方向上,根据公式 y = cos(x),求出球体以余弦函数运动时的 x 坐标,幅度大小为圆周的半径 radius ,余弦函数的初始值设为canvas的中点坐标 centerX , 则求得球体圆周运动的 x 轴坐标如下: x = centerX + Math.cos(angle) * ra...

2019-05-17 19:30:08 2236

原创 2、动画中的三角学

前言三角学在动画技术中被广泛运用,使用三角学编程时,你几乎不需要和数学打交道,只需关注于可视化的图形以及它们之间的关系。大部分情况下,你只需要处理与位置、距离以及角相关的变量,而不太会跟实际的数字打交道,其重点在于掌握各种边角关系。一、角度与弧度角的度量单位分别有角度和弧度两大系统。相信你对角度是比较熟悉的,但是在衡量角的大小时,计算机更倾向于使用弧度的概念。所以在使用三角学知识...

2019-05-07 17:15:03 1013

原创 1、JS动画的准备工作

前 言本系列主要借鉴《HTML5+JavaScript 动画基础》一书,对使用JavaScript来实现动画的相关知识点进行简要梳理,让大家能够一目了然动画实现的逻辑以及如何用代码实现动画的整个效果。一、HTML5基本文档首先我们确定一份基本的HTML5文件作为初始模板,后期所有的动画实例将基于此模板的基础上进行开发,后期会根据开发需要在初始模板上进行必要的补充。1、项目an...

2019-05-07 16:11:53 1173

原创 阶乘问题

阶乘(factorial)是基斯顿·卡曼于1808年发明的运算符号。阶乘也是数学里的一种术语,指1乘以2乘以3乘以4持续到所要求的数。分析:1、所要求的数是4,则阶乘式是1 * 2 * 3 * 4,得到的积是24,即24是4的阶乘。2、所要求的数是6,则阶乘式是1 * 2 * 3 * 4 * 5 * 6,得到的积是720,即720是6的阶乘。3、所要求的数是n,则阶乘...

2019-05-04 22:31:30 1164

原创 汉诺塔问题

有A、B、C三根柱子,第一个有64个盘子,从上往下盘子越来越大。现要把64个盘子全部移到第3个柱子上,移到的时候始终只能小盘子压着大盘子,而且每次只能移到一个。分析:假设第一根只有3个盘,从上往下分别为 a、b、c,那么移动这3个盘到第三根柱子的流程如下:把 a 从第一根柱子移动到第三根柱子,即 A -> C 把 b 从第一根柱子移动到第二根柱子,即 A -&gt...

2019-05-03 11:53:44 1258

原创 猴子吃桃

有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办理,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩下一只桃子了,问,这堆桃子原来有多少个?分析:假设第一天到第十天的桃子数分别用 a1、a2、a3、a4、a5、a6、a7、a8、a9、a10。其中,a10=1,求a1的值。我们知道,它们之间存在如下关系:a9 = 2 * (a1...

2019-05-01 20:04:44 250

原创 斐波那契数列,又称兔子数列

一般而言,兔子在出生二个月后,就有繁殖能力(即如果是第一个月出生,则第三个月开始才能繁殖),一对兔子每个月能生出一对小兔子。如果所有兔子都不死,那么一对兔子一年内能繁殖成多少对兔子?分析:(红色表示该对兔子本月不可生)1、第1个月,只有一对兔子 a,数量为 12、第2个月,原兔子下月才能生,只有一对兔子 a ,则数量为 13、第3个月,原兔子 a 生出一对小兔 a...

2019-04-30 18:05:03 3634

原创 百钱买百鸡

公鸡每只5元,母鸡每只3元, 小鸡3只1元。用100元钱买100只鸡,问公鸡、母鸡、小鸡各多少?分析:用数学方程式表示:x表示公鸡的数量,y表示母鸡的数量,z表示小鸡的数量,则有5 * x + 3 * y + z / 3 = 100x + y + z = 100因 5 * x <= 100,3 * y <= 100,所以 x <= 20,y &l...

2019-04-30 16:49:29 473

原创 9、极简版桶排序

将5, 3, 5, 2, 8 从小到大排序我们借助一个一维数组,申请一个大小为11的数组 a[11]。编号从a[0] ~ a[11] 。刚开始的时候,我们将 a[0] ~ a[10] 都初始化为0,。 开始处理每一个数值,第一个数值是5,我们就将相对应的 a[5] 的值在原来的基础上加1,即将 a[5] 的值从0改为1,表示数值5出现过了一次。 第二个数值是3,我们就把相对应 a[3] 的...

2019-04-25 22:39:07 294

原创 8、插入和删除数据时,链表比较快,数组比较慢

插入数据:对于数组,在顺序排列的数据列中的特定位置新的数据时,数组要把插入位置后面的所有元素都像后移动。如果在插入的位置后面有1000个元素,则不得不将数据移动1000次。每次因数据插入而引起数据移动都会消耗很长时间。对于链表,断开插入数据位置的前后的链,将新的数据连续到链表中就可以了。插入位置后面即使有1000个、10000个数据,通常只要把链断开,再将链重新连接,一次处理就能执行插入操...

2019-04-24 22:30:28 1909 1

原创 7、查找第N个元素时数组比较快,链表比较慢

一维数组是根据数据连续的线性排列来管理数据顺序,而链表是用有方向性的“链”连接结点来管理数据的顺序。根据它们的特点,我们来尝试 “查找第N个元素” 的操作来看一下数组与链表在数据管理操作上的优缺点。查找按顺序排列的数据的第N个元素时,数组可以根据元素号直接找到该元素。例如,数组的第5个元素是array[4],根据数组名可以直接找到该元素。而链表必须从头结点开始遍历直到第N个元素为...

2019-04-24 22:13:33 651

原创 6、双向链表:从双向开始都可以遍历所有数据

链表中,从前向后和从后向前两个方向都有链,并将有顺序的数据连接起来的方法叫做双向链表。双向链表有以下三种要素:数据 指向前一结点的指针 指向后一结点的指针“数据” 是结点中保存的整数、浮点数和字符串等,由链表管理的数值。“指向后一结点的指针” 又叫 “后继指针”, 起到连接后继结点的作用,指向后继结点的位置信息。“指向前一结点的指针” 又叫 “前驱指针”, 起到连接前驱...

2019-04-24 00:35:05 2628

原创 5、单向链表:从一端开始可以遍历所有数据

链表中,从前向后由有方向性的链连接,将有一定顺序的数据连接起来的方法叫做单向链表。单向链表有以下两种要素:数据 指向下一结点的指针“数据” 是结点中保存的整数、浮点数和字符串等,由链表管理的数值。“指向下一结点的指针” 起到连接各结点的作用。我们把“指向下一结点的指针” 叫做 “后继指针”。后继指针可以指出下一个元素的物理地址。末尾元素的后继指针中要包含 “没有其他结点信...

2019-04-23 23:12:51 846

原创 4、链表:用绳子把数据连起来的数据管理方式

链表也是与数组一样顺序管理数据的方法。对于相同顺序的数据采用 ”数组“ 和 ”链表“ 的方式管理,有如下不同的特点:一维数组: 数据物理上连续排列 链表:数据的长度无限制,物理上可以不连续“链表” 利用指针连接不连续的数据并管理这些数据的顺序,当 “没有指向下一个数据的指针” 时表示到达链表的尾部。数组对数据顺序的管理:链表对数据顺序的管理:...

2019-04-23 22:45:02 196

原创 3、队列:如同在收银台排队一样的数据结构

队列是有 “先输入的数据先输出” 这一特点的数据结构,又称为等待队列。在日常生活中常见的排队的情形:在超市中,收银台前排队结转 在银行的自动提款机前排队取钱 在火车站前排队等待出租车这种时候, 新来到队伍的人直接站在队尾排队。按照排队的顺序,从队列前头的人开始, 顺序地在收银台结账、ATM取钱、乘坐出租车。队首的人离开的时候,排在第二位的人称为队首,后面的人依次排列, 逐个前进。...

2019-04-23 20:28:03 788

zepto.min.js

zepto.min.js 代码压缩文件,直接引入到index.html即可。

2019-07-24

three.min.js

three.min.js 代码压缩文件,直接引入到index.html即可。

2019-07-24

VC 通用技巧范例大全

VC 通用技巧范例大全:各类VC用法介绍!

2013-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除