Ao Zhang's Blog

Thinking will not overcome fear but action will.

Spark记录(二):DataFrame及其方法

DF常用方法与参数总结

DataFrame DataFrame方法: 在日常工作中的常用方法总结如下: .read.csv(path, *opt) 用于读取csv文件,必须声明路径; 此外还包含多个可选项,例如 指定分隔符sep=‘/t’ 为制表符Tab .withColumn(colName, col) 用于添加一个新列,需要...

Python中的时间对象

datatime及其数据处理函数

时间数据结构 时间戳TimeStamp 一个整数或浮点数,表示自1970年1月1日(UTC)以来的秒数或毫秒数。 # 输出为 时间戳(秒): 1633077430 timestamp = int(time.time()) print("时间戳(秒):", timestamp) Datetime对象 是datetime模块中提供的,用于表示日期和时间的对象。 # 输出类似于:date...

Spark记录(一):函数示例

get_poishow_data()函数实现用户提取

本期学习代码如下: def get_poishow_data(POISHOW_HDFS, event_day_end, num_days): def read_poishow_data_one_day(current_date): try: cur_data = spark.read.csv(f"{POISHOW_HDFS}/{current...

0730算法 - 贪心算法02

122.买卖股票的最佳时机II | 55. 跳跃游戏 | 45.跳跃游戏II | 1005.K次取反后最大化的数组和

122. 买卖股票的最佳时机 II 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大 利润 。 示例 1: 输入:prices = [7,1,5,3,6,4] 输出:7 解释:在第 2 ...

0729算法 - 贪心算法01

455.分发饼干 | 376. 摆动序列 | 53. 最大子序和

理论基础 贪心问题,本质是 选择每一阶段的局部最优,从而达到全局最优 。 例如从一堆珠宝中自由拿取,那么每次都拿价值最大的一定能达到最终的最优数额。但是假如有背包容量的限制,此时一味选择价值最大的就不再有效,此时就需要动态规划。 因此判断何时可以使用贪心算法,最好的方法就是举反例,能否想出一个局部最优无法推出全局最优的反例(从10车煤矿和10条金项链选10次,单车煤矿价值更高但最多只能...

0714算法 - 二叉树01

递归遍历 | 迭代遍历 | 统一遍历

理论基础 二叉树的链式存储定义: struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 二叉树的定义和链表区别不大,只是节点里多了一个指针,分别指向左右孩子 遍历方式分类: ...

0713算法 - 栈和队列02

150. 逆波兰表达式求值 | 239. 滑动窗口最大值 | 347.前 K 个高频元素

150. 逆波兰表达式求值 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 '+'、'-'、'*' 和 '/' 。 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 两个整数之间的除法总是 向零截断 。 表达式中不含除零运算。 输入是一个根据逆波兰表...

0712算法 - 栈与队列01

232.用栈实现队列 | 225. 用队列实现栈 | 20. 有效的括号 | 1047. 删除字符串中的所有相邻重复项

理论基础 在STL(C++标准库)中,栈和队列往往不被归类为容器,而被归类为container adapter(容器适配器) 从图中可以看出,栈对外提供统一的接口,但实际上是以 可插拔的 底层容器来完成其所有的工作的(可以控制究竟使用哪种容器来实现栈的功能)。 如果没有指定底层实现的话,默认是以 双向队列deque 作为缺省情况下栈和队列的底层结构。 栈与队列区别 ...

C++中容器概念

STL 将通用容器分为三类:顺序性容器、关联式容器和容器适配器

什么是容器? 在C++中容器被定义为:在数据存储上,有一种能够 自行扩展 的对象类型,它可以持有其它对象或指向其它对象的指针。 具体来说,容器是一种保存其它对象的对象,并包括了一系列处理“其它对象”的方法。 分类 STL 对定义的通用容器分三类:顺序性容器、关联式容器和容器适配器。 顺序性容器 特点 ...

0711算法 - 字符串02

151.翻转字符串里的单词 | 55.右旋转字符串 | 28. 实现 strStr() | 459.重复的子字符串

前言 本组题目非常重要!!!!覆盖了字符串的基本操作,并涉及大量底层思想。 151. 反转字符串中的单词 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意: 输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空...