10 So_weak_yx

尚未进行身份认证

我要认证

很水的研究生

等级
TA的排名 9k+

leetcode 218. 天际线问题

题意:如第一幅图所示,求由很多可能重叠矩形能够覆盖最终的最终图案的形状,如第二幅图所示。思路:用扫描线思想, 从左往右扫描,另外加上一个最大堆来维护满足条件的所有矩形里的高度的最高值。另外实现的时候有一些小细节很巧妙。c++和python里对元组的排序,默认都是从低位从小大大排序。时间复杂度: (nlogn)代码:class Solution: de...

2020-02-22 19:28:45

leetcode 174 周赛题解

1337. 方阵中战斗力最弱的 K 行题意:返回二维数组,每行1个数的排序。pythonclass Solution: def kWeakestRows(self, mat, k) : ans = [[sum(line), i] for i , line in enumerate(mat)] ans.sort(key = lambda x:x[0]...

2020-02-18 00:27:48

leetcode 176 周赛

5340. 统计有序矩阵中的负数题意:统计二维矩阵中非负个数。代码:class Solution: def countNegatives(self, grid: List[List[int]]) -> int: ans =0 for row in grid: for num in row: ...

2020-02-17 22:26:39

python【heapq】&& leetcode 23. Merge k Sorted Lists

heapq模块heapq 模块是python里用来实现 ——最小堆 ,又被称为优先队列算法,官方文档。最近用python刷leetcode用的比较多,用一些例子做个笔记。创建堆 - 最小堆单个添加创建堆 - heappushimport heapqdata = [1,5,3,2,8,5]heap = []for n in data: heapq.heappush(hea...

2020-02-17 00:34:22

Leetcode 1345. 跳跃游戏 IV

Leetcode 1345. 跳跃游戏 IV题意:给一个一维的数组,你从下标0开始出发,有三种操作:每次可以向左,右移动一位,或者移动到与自己数值相同的位置。思路:这类搜索求最短步数的解法是典型的bfs,注意这题数据的特殊性,裸bfs会超时。这是因为第三个操作枚举所有相同数值的位置时候,如果出现很多相同值的数值,时间复杂度会近似O(n)。这一步枚举,可以把连续出现相同值的区间只保留左...

2020-02-15 22:10:51

leetcode 168 周赛题解

1295. 统计位数为偶数的数字简洁(优美)写法:class Solution: def findNumbers(self, nums) -> int: return sum(1 if len(str(num))%2 == 0 else 0 for num in nums)啰嗦的写法:class Solution: def findNumbers(s...

2020-01-05 22:38:41

Leetcode 76:最小覆盖子串 (滑动窗口)

76. 最小覆盖子串题意:问一个思路 :代码:class Solution: def minWindow(self, s: str, t: str) -> str: i,j , ans = 0, 0 , '' import collections cnt = collections.Counter(t) n =...

2020-02-14 11:26:41

leetcode 10. 正则表达式匹配 && leetcode 44 通配符匹配

leetcode 10. 正则表达式匹配题意:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。思路:这个匹配的过程实际上就是一个回溯的搜索(暴力), 如果是这个思路,难点就是这个写法,然后注意这个过程具有子结构的特点...

2020-02-13 15:10:05

leetcode1044. 最长重复子串 (Rabin-Karp + 二分 )

leetcode1044. 最长重复子串class Solution: def maxProduct(self, root: TreeNode) -> int: def get_sum(root): if not root: return 0 ret=root.val+get_sum(r...

2020-02-06 23:01:48

C++ 11 vector 的遍历,auto关键词(未完)

遍历vector方式假设有这样的一个vector:vector<int> line={1,2,3,4,5,6,7,8,9};需要我们去遍历它。void showvec(const vector<int>& line) { for (vector<int>::const_iterator iter = line.cbegin();iter !...

2020-01-05 22:39:15

leetcode 167周赛题解

二进制链表转整数代码:class Solution: def getDecimalValue(self, head): ans = 0 while head !=None: ans = ans* 2 + head.val head = head.next return ans顺次数代码...

2019-12-15 22:50:05

leetcode 160周赛题解

题目1题意:第一次看,没看懂,就是调一个函数,找出符合它的解。思路:这题是考阅读理解能力。代码:class Solution {public: vector<vector<int>> findSolution(CustomFunction& customfunction, int z) { vector<vector&lt...

2019-10-31 16:45:00

简述 GCN &&GAT(Graph Attention Networks )

Graph attention worksGCNCNN处理的图像或者视频数据中像素点(pixel)是排列成成很整齐的矩阵,论文提到Euclidean Structure。非Euclidean Structure的网络结构,也是图论抽象意义的拓扑图。Graph Convolutional Network中的Graph是指数学(图论)中的用顶点和边建立相应关系的拓扑图。提取拓扑图空间特...

2019-10-30 09:05:12

leetcode 159周赛题解

题目1题意给出二维平面n个点,问是否全部在一条直线上?思路根据已知两点(x1,y1),(x2,y2)的直线公式: (y-y1)/(y2-y1)=(x-x1)/(x2-x1)代码class Solution {public: bool checkStraightLine(vector<vector<int>>& coordinates) { ...

2019-10-24 23:18:32

C++ vector 的初始化

前言最近再刷leetcode,快一年没用过c++,很多语言特性需要做个笔记。一维数组初始化vector v vectorV(n) vectorV(n,m)默认初始化,vector为空, size为0,表明容器中没有元素,而且 capacity 也返回 0,意味着还没有分配内存空间。这种初始化方式适用于元素个数未知,需要在程序中动态push_back()添加的情况。这里也可以用v.r...

2019-10-23 20:41:20

Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs

Relations are Important尽管传统的GAT在获取网络结构上取得成功,但直接用于KG里是不合适的,因为它忽略KG里很重要的一部分信息——边,实体之间的关系(relation)。作者认为在KG里,实体起到不同的作用是因为,不同的关系在起作用!...

2019-10-13 21:47:17

爬虫模拟登陆网站

前言在爬取很多需要先登陆的网站的时候,第一步是需要模拟浏览器登陆过程,向目标网页(url) post一个含有账户密码以及额外信息的表单,成功登陆操作后,就获取到目标网页的内容。分析登陆过程这里以我本科学校的图书管座位预约系统为例,F12打开浏览器开发者模式的网络界面,可以查看浏览器与服务器之间数据的交互过程。首先打开目标网页,即向目标服务器发送一个get请求后,返回登陆界面的网页内容。接...

2019-08-23 16:21:46

衡量两个向量相似度的方法:余弦相似度

import numpy as npdef cos_sim(vector_a, vector_b): """ 计算两个向量之间的余弦相似度 :param vector_a: 向量 a :param vector_b: 向量 b :return: sim """ vector_a = np.mat(vector_a) vector...

2019-08-03 15:40:33

Tensorflow笔记:

tf.nn.embedding_lookup在 Tensorflow里Variabletf.nn.embeding_looku

2019-07-27 23:00:00

hiho一下 第264周 投掷硬币

题目:中文题目思路:非常简单的概率dp,dp[i][j]表示投掷i次,恰好j次正面的概率。dp[i][j] = dp[i-1][j-1] * p[i] + dp[i-1][j] *(1 - p[i])代码:#include<bits/stdc++.h>using namespace std;const int N= 1000+10;double dp[N][N], p...

2019-07-23 17:27:45

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。