Python
文章平均质量分 66
yzpwslc
http://blog.yuzhipeng.xyz
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode刷题——交换和
一、题目描述 给定两个整数数组,请交换一对数值(每个数组中取一个数值),使得两个数组所有元素的和相等。 返回一个数组,第一个元素是第一个数组中要交换的元素,第二个元素是第二个数组中要交换的元素。若有多个答案,返回任意一个均可。若无满足条件的数值,返回空数组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-swap-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 二、题目分...原创 2020-06-27 12:39:20 · 414 阅读 · 0 评论 -
leetcode刷题——兰顿蚂蚁
一、题目描述 一只蚂蚁坐在由白色和黑色方格构成的无限网格上。开始时,网格全白,蚂蚁面向右侧。每行走一步,蚂蚁执行以下操作。 (1) 如果在白色方格上,则翻转方格的颜色,向右(顺时针)转 90 度,并向前移动一个单位。 (2) 如果在黑色方格上,则翻转方格的颜色,向左(逆时针方向)转 90 度,并向前移动一个单位。 编写程序来模拟蚂蚁执行的前 K 个动作,并返回最终的网格。 网格由数组表示,每个元素是一个字符串,代表网格中的一行,黑色方格由'X'...原创 2020-06-27 10:07:18 · 1777 阅读 · 0 评论 -
偷懒好久,再刷leetcode——稀疏相似度
上次坚持刷leetcode,还是两年前leetcode刚出中文版前后,贡献了部分题目的翻译。偷懒好久了,再次打开,发现题目多了好多,随便刷一道: 一、题目 两个(具有不同单词的)文档的交集(intersection)中元素的个数除以并集(union)中元素的个数,就是这两个文档的相似度。例如,{1, 5, 3} 和 {1, 7, 2, 3} 的相似度是 0.4,其中,交集的元素有 2 个,并集的元素有 5 个。给定一系列的长篇文档,每个文档元素各不相同,并与一个 ID 相关联。它...原创 2020-06-26 20:02:45 · 286 阅读 · 0 评论 -
佛系老年学量化——从实现指标开始(KDJ)
一、指标说明 KDJ指标(指标解释来自百度百科),KDJ指标又叫随机指标,是一种相当新颖、实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具。随机指标KDJ一般是用于股票分析的统计体系,根据统计学原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来...原创 2020-01-18 21:30:40 · 717 阅读 · 1 评论 -
佛系老年学量化——从实现指标开始(DKX)
一、指标说明DKX指标(多空线指标,指标解释来自百度百科) 多空线是一个统计性指标。它是将主动买、主动卖的成交按时间区间分别统计而形成的一个曲线。多空线有两条线,以交叉方式提示买入卖出。计算公式(通达信) MID:=(3*CLOSE+LOW+OPEN+HIGH)/6; DKX:(20*MID+19*REF(MID,1)+18*REF(MID,2...原创 2020-01-18 16:54:28 · 5178 阅读 · 1 评论 -
佛系老年学量化——从实现指标开始(ADTM)
一、指标说明ADTM指标(动态买卖气指标,指标解释来自MBA智库百科)动态买卖气指标(ADTM)是用开盘价的向上波动幅度和向下波动幅度的距离差值来描述人气高低的指标。计算公式(通达信)DTM:=IF(OPEN<=REF(OPEN,1),0,MAX((HIGH-OPEN),(OPEN-REF(OPEN,1))));DBM:=IF(OPEN>=R...原创 2020-01-17 00:47:30 · 4271 阅读 · 0 评论 -
佛系老年学量化——从实现指标开始(ACCER)
一、指标说明 ACCER指标(指标解释来自百度百科) 幅度涨速(ACCER)是通过计算收盘价的N日线性回归斜率的方法,来测量股价上涨和下跌的速度的指标,是超买超买型指标。 计算公式 1.幅度涨速=收盘价的N日线性回归斜率/收盘价 2.参数N一般设置为8,但因根据需要调整。 二、实现方式:(为方便在聚宽平台使用,模仿聚宽调用形式)...原创 2020-01-16 01:16:59 · 4486 阅读 · 0 评论 -
leet811. Subdomain Visit Count
题目:A website domain like "discuss.leetcode.com" consists of various subdomains. At the top level, we have "com", at the next level, we have "leetcode.com", and at the lowest level, "discuss.leetcode.c...原创 2018-04-03 21:03:42 · 217 阅读 · 0 评论 -
leet102. 二叉树的层次遍历
题目:给定一个二叉树,返回其按层次遍历的节点值。 (即zhu'ceng'de,从左到右访问)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果为:[ [3], [9,20], [15,7]]分析:直接采用BFS方式遍历,记录不为空的节点值代码:class Solut...原创 2018-03-27 23:02:25 · 154 阅读 · 0 评论 -
leet101. 对称二叉树
题目:给定一个二叉树,检查它是否是它自己的镜像(即,围绕它的中心对称)。例如,这个二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是: 1 / \ 2 2 \ \ 3 3 说明:如果你可以递归地和迭代地解决它就...原创 2018-03-27 22:36:51 · 3232 阅读 · 0 评论 -
leet137. 只出现一次的数字 II
题目:给定一个整型数组,除了一个元素只出现一次外,其余每个元素都出现了三次。求出那个只出现一次的数。注意:你的算法应该具有线性的时间复杂度。你能否不使用额外的内存来实现?分析:通过集合运算可以得到去除每个元素只出现一次的集合,计算集合和的3倍,减去原列表之和,即得到列表只出现一次的元素的两倍;代码:class Solution(object): def singleNumber(self,...原创 2018-04-02 23:36:40 · 509 阅读 · 0 评论 -
leet98. 验证二叉搜索树
题目:给定一个二叉树,判断其是否是一个有效的二叉搜索树。一个二叉搜索树有如下定义:左子树只包含小于当前节点的数。右子树只包含大于当前节点的数。所有子树自身必须也是二叉搜索树。示例 1: 2 / \ 1 3二叉树[2,1,3], 返回 true.示例 2: 1 / \ 2 3二叉树 [1,2,3], 返回 false.分析:使用DFS方式遍历每次递归时,确...原创 2018-03-27 20:24:06 · 207 阅读 · 0 评论 -
leet234.回文链表
题目:请检查一个链表是否为回文链表。进阶:你能在 O(n) 的时间和 O(1) 的额外空间中做到吗?分析:该题不够严谨,要满足时间、空间复杂度要求,应该要求链表无环回文链表要求正逆方向对应位置节点值相同不考虑时间、空间复杂度,可以一次遍历链表,比较正反列表对应节点值是否一致,这样时间复杂度满足O(n),但空间复杂度为O(n)为使空间复杂度满足O(1)只可以新增常数级内存空间,而链表为单向,无法逆向...原创 2018-03-27 19:20:54 · 512 阅读 · 0 评论 -
leet36. 有效的数独
题目:判断一个数独是否有效,根据:Sudoku Puzzles - The Rules。数独部分填了数字,空的部分用 '.' 表示。一个部分填充是有效的数独。说明:一个有效的数独(填了一部分的)不一定是可解的,只要已经填的数字是有效的即可。分析:数独中数字有效是指同一行中、同一列中、所在的3×3格中不能有重复出现的数字;行优先方式遍历,并统计各行中每个数字出现次数使用zip函数生成列优先数组,遍历...原创 2018-03-26 19:16:59 · 872 阅读 · 0 评论 -
41. 第一个缺失的正数
题目:给一个未排序的数组,找出第一个缺失的正整数。例如,[1,2,0] 返回 3,[3,4,-1,1] 返回 2。你的算法应该在 O(n) 的时间复杂度内完成并且使用常数量的空间。分析:寻找缺失正整数,因此所有1以下数字均无效定义字典用于标记对应数值存在遍历列表,将出现的有效数字加入字典,如果1在列表中,改变相应flag从1开始递增,在字典中查询是否存在,不存在即为缺失正整数代码:class So...原创 2018-03-31 18:47:29 · 953 阅读 · 1 评论 -
leet791. Custom Sort String
题目:S and T are strings composed of lowercase letters. In S, no letter occurs more than once.S was sorted in some custom order previously. We want to permute the characters of T so that they match the ...原创 2018-03-25 21:29:03 · 141 阅读 · 0 评论 -
leet806. Number of Lines To Write String
题目:We are to write the letters of a given string S, from left to right into lines. Each line has maximum width 100 units, and if writing a letter would cause the width of the line to exceed 100 units,...原创 2018-03-25 20:09:17 · 241 阅读 · 0 评论 -
leet334递增的三元子序列
题目:分析:选取第一个元素为主元遍历数组,当前元素大于主元,如果当前元素同时大于递增序列栈顶元素,将当前元素压入递增序列栈,如果此时该元素大于前递增序列栈栈顶,则返回真;如果当前元素小于递增序列栈顶元素,清空当前递增序列栈,如果弹出栈的栈顶元素小于前递增序列栈栈顶元素,则替换前递增序列栈当前元素小于主元,替换主元,如果当前递增序列栈长度为2,则添加至前递增序列栈该算法时间复杂度为O(n),占用内存...原创 2018-03-31 11:15:01 · 895 阅读 · 0 评论 -
leet529. Minesweeper
题目:Let's play the minesweeper game (Wikipedia, online game)! You are given a 2D char matrix representing the game board. 'M' represents an unrevealed mine, 'E' represents an unrevealed empty square, '...原创 2018-04-03 22:18:03 · 244 阅读 · 0 评论 -
leet20. 有效的括号
题目:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。括号必须以正确的顺序关闭,"()" 和 "()[]{}" 是有效的但是 "(]" 和 "([)]" 不是。分析:如果字符串长度为奇数,则一定存在无效括号;为方便处理,将括号映射为方便处理的数字,使对应括号之和恒定;将给定字符串使用映射表转换为对应数字列表;定义一个栈,遍历2中得到的列表,当栈为空时,...原创 2018-03-28 19:27:41 · 1164 阅读 · 0 评论 -
使用pyecharts中的一个坑——x轴类型
问题描述:使用pyecharts绘制频谱图,结果与与其相去甚远, 我想象中的样子和实际中的样子见下图。我想象中的频谱图实际看到的频谱图查找原因:看到图后一脸梦比的我,看了数据,非常完美,毫无毛病。百度了一通也没有头绪。打开F12,漫无目的检查脚本,终于发现了这个坑。xaxis_type默认值居然是category,有木有阿,有木有!我明明给的float,为毛会识别为类别轴!...原创 2018-12-02 11:25:11 · 5706 阅读 · 1 评论 -
量化交易从入门到放弃——体验简单策略熟悉API(ENE下轨交易)
本文仅为学习笔记,无法保证正确性,不可作为交易参考。曾经非常迷恋谈股论今这档节目,幽默风趣的主持人经常提到一个堪称经典的ENE指标,使用参数10,11,9,传说大盘股触碰ENE下轨,必有10%的反弹,今天简单测试一下。1、算法思路既然是大盘股,选取上证180指数成份股; 仓位9成以上不再开新仓; 股票池中个股现价低于ENE下轨1%买入; 只开仓不加仓; 10%止盈; 10%止...原创 2018-11-22 22:19:12 · 1641 阅读 · 0 评论 -
量化交易从入门到放弃——体验简单策略熟悉API(生命线交易)
本文仅为学习笔记,无法保证正确性,不可作为交易参考。策略——生命线(MA20)买卖,MA为滑动平均线,取N天均值。1、算法逻辑分别选取沪深300及创业板个股进行测试; 突破生命线买入1%,跌破生命线5%卖出; 按分钟回测,仓位90%以下,每分钟在股票池选取5只以市价模式开新仓;2、代码实现(以创业板为例)# 导入函数库import numpy as npimport p...原创 2018-11-22 20:01:11 · 2331 阅读 · 0 评论 -
量化交易从入门到放弃——体验简单策略熟悉API(次新股倒金字塔加仓)
本文仅为学习笔记,无法保证正确性,不可作为交易参考。在市场上有一个被奉为真理的加仓方法——倒金字塔加仓,传说只要按照倒金字塔加仓,一定不会亏损;今天就对这一方法利用宽客平台实现一下。1、算法逻辑1、分别选取次新板块和沪深300;2、过滤上市不满30天股票;3、为了不让平台珍贵的运算能力浪费在我这无聊的代码运行过程,随机选取50支;4、初始建仓10%;5、每当个股持仓亏损...原创 2018-11-20 23:30:23 · 2323 阅读 · 0 评论 -
ubuntu16.04 LTS安装Tensorflow-gpu(python)
最近在学习深度强化学习,仿真环境gym下的很多组件windows下不支持,只能移步linux,在linux下安装tensorflow-gpu经常会出现各种奇奇怪怪令人生无可恋的问题,总是耗时耗力直到绝望,好在多次安装,跳过各种坑,网上经常难以找到称手的教程,自己写一个,以后用,同时献给需要的小伙伴们。首先目前tensorflow的gpu版支持cuda计算架构,对opencl也开始支持,但不是很...原创 2018-11-10 13:59:36 · 476 阅读 · 0 评论 -
常见机器学习算法学习——KNN(K邻近)
1、 算法简述 文章中描述性内容,多来自维基百科KNN。KNN( k-nearest neighbors algorithm)是一种非参数、有监督算法,由T. M. COVER, P. E. HART, Hart PE 在1967年提出,后被广泛应用于模式识别领域,既可用于分类也可以用于回归。KNN是一种懒学习(lazy learning)算法,没有显式的训练过程;将多维特征空间...原创 2018-09-29 11:06:52 · 321 阅读 · 0 评论 -
leetcode-916. Word Subsets(单词子集)
1、题目描述We are given two arrays A and B of words. Each word is a string of lowercase letters.Now, say that word b is a subset of word a if every letter in b occurs in a, including multiplicity. Fo...原创 2018-10-03 09:52:56 · 454 阅读 · 0 评论 -
leet200. 岛屿的个数
题目:给定 '1'(陆地)和 '0'(水)的二维网格图,计算岛屿的数量。一个岛被水包围,并且通过水平或垂直连接相邻的陆地而形成。你可以假设网格的四个边均被水包围。示例 1:11110110101100000000答案: 1示例 2:11000110000010000011答案: 3分析:遍历grid,当当前位置值为1时,岛的数量加1,为了防止重复计数,将遍历后的位置改为0或1以外的值,...原创 2018-04-04 21:31:36 · 394 阅读 · 0 评论 -
leet230. 二叉搜索树中第K小的元素
题目:给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。注意:你可以假设k总是有效的,1≤ k ≤二叉搜索树元素个数。进阶:如果经常修改二叉搜索树(插入/删除操作)并且你需要频繁地找到第k小值呢? 你将如何优化kthSmallest函数?分析:根据BST的特点,任一左子树节点值不大于根节点值,根节点值不大于右子树节点值采用中序遍历,节点值依次递增,当遍历到第k个节点...原创 2018-04-04 20:07:29 · 868 阅读 · 0 评论 -
leet198.打家劫舍
题目:你是一个专业的强盗,计划抢劫沿街的房屋。每间房都藏有一定的现金,阻止你抢劫他们的唯一的制约因素就是相邻的房屋有保安系统连接,如果两间相邻的房屋在同一晚上被闯入,它会自动联系警方。给定一个代表每个房屋的金额的非负整数列表,确定你可以在没有提醒警方的情况下抢劫的最高金额。分析:这是一个动态规划问题为满足题目要求,不触碰警报,不能连续两家特例为1)空数组[],输出0; 2) 列表长度为1,输出列表...原创 2018-03-28 21:32:19 · 206 阅读 · 0 评论 -
leet150. 逆波兰表达式求值
题目:求在 逆波兰表示法 中算术表达式的值。有效的运算符号包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰计数表达。例如: ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9 ["4", "13", "5", "/", &quo原创 2018-03-31 10:08:53 · 210 阅读 · 0 评论 -
leet202. 快乐数
题目:写一个算法来判断一个数是不是“快乐数”。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,或是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。案例: 19 是一个快乐数。12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1分析:分离n的每一位,...原创 2018-03-31 09:15:53 · 760 阅读 · 0 评论 -
leet169. Majority Element
题目:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且数组中的众数永远存在分析:最简单的方法是使用库函数对数组排序,第⌊ n/2 ⌋个数即为众数,但时间复杂度为O(nlgn)为降低时间复杂度,采用计数方式,并记录最大频次和对应元素,遍历后返回最大频次对应元素,时间复杂度O(n),空间复杂度O(n)代码:class Sol...原创 2018-03-31 08:50:50 · 250 阅读 · 0 评论 -
leet581. Shortest Unsorted Continuous Subarray
题目:Given an integer array, you need to find one continuous subarray that if you only sort this subarray in ascending order, then the whole array will be sorted in ascending order, too. You need to fi...原创 2018-03-24 19:17:40 · 182 阅读 · 0 评论 -
leet190. Reverse Bits
题目:Reverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 0011100101...原创 2018-03-24 18:14:12 · 148 阅读 · 0 评论 -
leet605. Can Place Flowers
题目:Suppose you have a long flowerbed in which some of the plots are planted and some are not. However, flowers cannot be planted in adjacent plots - they would compete for water and both would die.Giv...原创 2018-03-24 15:12:23 · 193 阅读 · 0 评论 -
leet160. Intersection of Two Linked Lists
题目:Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists: A: a1 → a2 ↘ ...原创 2018-03-24 14:27:57 · 141 阅读 · 0 评论 -
leet155. Min Stack
题目:Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.push(x) -- Push element x onto stack.pop() -- Removes the element on top of the stack.top() -- Get t...原创 2018-03-24 14:05:10 · 198 阅读 · 0 评论 -
leet347. 前K个高频元素
题目:给定一个非空的整数数组,返回其中出现频率前 k 高的元素。例如,给定数组 [1,1,1,2,2,3] , 和 k = 2,返回 [1,2]。注意:你可以假设给定的 k 总是合理的,1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。分析:统计各元素出现频次,时间复杂度O(n)将统计结果按频次排序,内置sort函数,采用归并排序,...原创 2018-03-30 00:36:59 · 745 阅读 · 0 评论 -
leet75. 分类颜色
题目:给定一个包含红色、白色和蓝色,且含有 n 个元素的数组,对它们进行排序,使得相同颜色的元素相邻,颜色顺序为红色、白色、蓝色。此题中,我们使用整数 0, 1 和 2 分别表示红色,白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。点击显示进阶问题.进阶:一个相当直观的解决方案是使用计数排序的 two-pass 算法。首先,迭代计算出0,1 和 2 元素的个数,然后重写当前数组。你能想出...原创 2018-03-30 00:05:12 · 596 阅读 · 0 评论
分享