SunQH Blog

努力做一个更优秀的人

编程能力 Pytorch回顾总结

Introduction Why pytorch? 更加“Python化”,更易于使用 每一个Pytorch示例(CV和NLP)都有共同的结构: 1 2 3 4 5 6 7 8 9 10 11 data/ experiments/ model/ net.py:指定神经网络架构、损失函数和评估指标。 data_loader.py:指定数据应如何馈送到网络。 train.py:包含主...

编程能力 Python pep8编程规范

Introduction 重点: 一致性 可读性 Guido的一条重要的见解是代码阅读比写更加频繁。这里提供的指导原则主要用于提升代码的可读性,使得在大量的Python代码中保持一致。就像PEP 20提到的,“Readability counts”。 Code lay-out 代码布局 Indentation 缩进 每一级缩进使用4个空格。 Tabs or...

理论知识 Textrank理解及应用

原理 Textrank总结 TextRank特点: 此种算法的一个重要特点是可以脱离语料库的背景,仅对单篇文档进行分析就可以提取该文档的关键词。基本思想来源于Google的PageRank算法。 与PageRank不同的是,PageRank中是有向边,而TextRank中是无向边,或者说是双向边。 TextRank 用于关键词提取的算法流程如下: 把给定的文本 T 按照完整...

算法题目 链表

leetcode题目按类型 链表 遍历框架 链表遍历框架,兼具迭代和递归结构: /* 基本的单链表节点 */ class ListNode { int val; ListNode next; } void traverse(ListNode head) { for (ListNode p = head; p != null;...

算法题目 贪心算法

leetcode题目按类型 贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。 ✅(20m) 455. 分发饼干 假设...

算法题目 知识点概要

知识点概要 相关笔记 python相关 相关资料 九章算法视频 做题规范 每个题不超过15min思考时间,整个题做题时间不超过30min。 按类别刷题时,可以先看书和相关知识点再刷题。 只要看见过答案或者提示,就不算自己做出来的题,一定要留到下次完全独立作出才可标记通过。 刷题方法 1、√ 建议未刷过题的新人按着顺序来。 2、[-] 基本熟悉知识点后,可...

算法题目 深度优先(dfs)+递归

leetcode题目按类型 深度优先搜索DFS+递归 dfs(回溯)算法框架 **核心** :for循环里面的递归,在递归调用之前做选择,在调用之后撤销选择。 3个问题: 路径:已经做的选择 选择列表:当前可做的选择 结束条件:到达决策树底层,无法再做选择的条件 1 2 3 4 5 6 ...

算法题目 数学方法

Leetcode按类型 数学 总结 负数的python数学操作 1 2 3 4 5 6 7 在python这个神奇的语言里,负数取模和负数地板除和其他语言是不一样的。 需要把取模替换成%(-val) 把地板除替换成int(x / val) ans += (x % 10) if x>0 else (x%-10) x = x // 10 if x>0 else int(x/...

算法题目 排序算法

leetcode题目按类型 排序算法 总结 数据结构和排序可视化 lc官解 各种排序算法,吐血总结 简单排序里,插入排序最好(样本小且基本有序时,效率较高) 🚩冒泡排序 — 逐个比较,最大的后移 1 2 3 4 5 6 def bubbleSort(nums): for i in range(len(nums)): ...

算法题目 宽度优先(bfs)

leetcode题目按类型 宽度优先BFS BFS 算法框架 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def BFS(start, target): q = [] visited = {} q.append(start) # 队列queue visited.add(start) # 像二叉树一样的结构,...