next

Python的IDE之Pycharm的使用

你说的曾经没有我的故事 提交于 2021-02-19 04:02:28
Python的IDE之Pycharm的使用 一、为什么用IDE(Python集成开发环境-Pycharm) 到现在为止,我们也是写过代码的人啦,但你有没有发现,每次写代码要新建文件、写完保存时还要选择存放地点,执行时还要切换到命令行调用python解释器,好麻烦呀,能否一气呵成,让我简单的写代码?此时开发工具IDE上场啦,一个好的IDE能帮你大大提升开发效率。 很多语言都有比较流行的开发工具,比如JAVA 的Eclipse, C#,C++的VisualStudio, Python的是啥呢? Pycharm和Jupyter,最好的两款Python开发IDE。 二、安装Pycharm(老汉推车式) 接下来安装pycharm 1、首先从网站下载pycharm:点击 打开链接 (链接为: http://www.jetbrains.com/pycharm/download/#section=windows),进入之后如下图,根据自己电脑的操作系统进行选择,对于windows系统选择图中红色圈中的区域。 2、在弹出的PyCharm安装欢迎页面中,点击“Next按钮”进入下一步 3、根据你电脑的处理器选择32位或64位,创建桌面快捷方式、关联*.py文件 4、选择开始菜单文件夹,选择Install 5、开始安装 6、安装完成,立刻运行Pycharm 7、选择是否导入开发环境配置文件

力扣213——打家劫舍 II

跟風遠走 提交于 2021-02-19 02:42:31
这一篇是上一篇的扩展,需要针对特殊情况特殊考虑,当然其本质还是动态规划。 <!-- more --> 原题 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例 1: 输入: [2,3,2] 输出: 3 解释: 你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。 示例 2: 输入: [1,2,3,1] 输出: 4 解释: 你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。   偷窃到的最高金额 = 1 + 3 = 4 。 原题url: https://leetcode-cn.com/problems/house-robber-ii/ 解题 这道题的变化是,同样是一个数组,但是首尾相连了,也就是成了一个环,那么原本递推的方式也就行不通了,因为任何一个节点其实地位都相等了,也就找不到最初的状态,无法进行递推了。 但我们可以将现在的问题转化成我们已经解决的问题,仔细想想。所谓的首尾相连,针对状态进行划分,可以有三种情况:

「分布式技术专题」三种常见的数据库查询引擎执行模型

元气小坏坏 提交于 2021-02-18 20:46:44
注: 本文涉及到的相关资料图片摘自 CARNEGIE MELLON DATABASE GROUP 发表的 CMU SCS 15-721 (Spring 2019) :: Query Execution & Processing (点击可查看) 1. 迭代模型/火山模型(Iterator Model) 又称 Volcano Model 或者 Pipeline Model 。 该计算模型将关系代数中每一种操作抽象为一个 Operator,将整个 SQL 构建成一个 Operator 树,查询树自顶向下的调用next()接口,数据则自底向上的被拉取处理。 火山模型的这种处理方式也称为拉取执行模型(Pull Based)。 大多数关系型数据库都是使用迭代模型的,如 SQLite、MongoDB、Impala、DB2、SQLServer、Greenplum、PostgreSQL、Oracle、MySQL 等。 火山模型的优点在于:简单,每个 Operator 可以单独实现逻辑。 火山模型的缺点:查询树调用 next() 接口次数太多,并且一次只取一条数据,CPU 执行效率低;而 Joins, Subqueries, Order By 等操作经常会阻塞。 2. 物化模型(Materialization Model) 物化模型的处理方式是:每个 operator 一次处理所有的输入

【算法】单元最短路径之Bellman-Ford算法和SPFA算法

旧时模样 提交于 2021-02-18 17:54:12
SPFA是经过对列优化的bellman-Ford算法,因此,在学习SPFA算法之前,先学习下bellman-Ford算法。 bellman-Ford算法是一种通过松弛操作计算最短路的算法。 适用条件 1.单源最短路径(从源点s到其它所有顶点v); 2.有向图&无向图(无向图可以看作(u,v),(v,u)同属于边集E的有向图); 3.边权可正可负(如有负权回路输出错误提示); 4.差分约束系统; bellman-Ford的具体操作是这样的: 初始化,dis数组表示从起点到达第i个点的最短距离。初始化时:dis[i]=edge[起点][i];如果没有边相接,则设为MAXN; 循环n-1次,遍历每个边,将dis[边[i].目标节点]=min(dis[边[i].目标节点],dis[边[i].初始节点]+边[i].权值); 【可选】检验负权回路:判断 边集合 中的每一条边的两个端点 是否收敛 。如果存在未收敛的顶点,则算法返回false,表明问题无解;否则算法返回true,并且从源点可达的顶点v的最短距离保存在 dis[v]中。 #include <bits/stdc++.h> using namespace std; int n,m; // Bellman-Ford algorithm struct Edge { int a,b,v; }edge[ 500005 ]; long long

【LeetCode】 137 链表求和

醉酒当歌 提交于 2021-02-18 15:54:07
题目: 解题思路: 对两个链表从头到尾遍历,将每个位的数字相加并插入到新建链表上。注意处理两个链表不等长。 https://leetcode-cn.com/problems/sum-lists-lcci/solution/javaji-bai-100-bi-kan-by-wonderzlf-v7dm/ 代码: public class LC145 { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { // 判空输入 if (l1==null) { return l2; } else if (l2==null) { return l1; } // 遍历两个输入链表 ListNode head = null; ListNode first = null; int tmp = 0; while (l1!=null ||l2!=null) { tmp =tmp+(l1!=null?l1.val:0)+(l2!=null?l2.val:0); if (first==null) { first = new ListNode(tmp%10); head = first; } else { first.next = new ListNode(tmp%10); first = first.next; } l1=(l1!=null?l1

AtCoder Beginner Contest 104

∥☆過路亽.° 提交于 2021-02-18 15:30:15
A - Rated for Me Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100 100 points Problem Statement A programming competition site AtCode regularly holds programming contests. The next contest on AtCode is called ABC, which is rated for contestants with ratings less than 1200 1200 . The contest after the ABC is called ARC, which is rated for contestants with ratings less than 2800 2800 . The contest after the ARC is called AGC, which is rated for all contestants. Takahashi's rating on AtCode is R R . What is the next contest rated for him? Constraints 0 ≤ R ≤ 4208 0≤R≤4208 R R is an integer.

责任链模式

僤鯓⒐⒋嵵緔 提交于 2021-02-18 15:13:32
1.1 责任链 1.1.1 定义 为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链。当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。在责任链模式中,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,所以责任链将请求的发送者和请求的处理者解耦了。 1.1.2 角色 UML Handler : 抽象处理者角色,声明一个请求处理的方法,并在其中保持一个对下一个处理节点 Handler 的引用。 ConcreteHandler: 具体处理角色,对请求进行处理,如果不能处理则将该请求转发给下一个请求。 1.1.3 案例 用责任链模式设计一个请假条审批模块,假如规定学生请假小于或等于 2 天,班主任可以批准,小于或等于 7 天,系主任可以批准,小于或等于 10 天,院长可以批准,其他情况不予批准,这个实例适合使用职责链模式实现。首先,定义一个领导类Leader,它是抽象处理者,包含了一个指向下一位领导的指针 next 和一个处理假条的抽象处理方法。然后,定义班主任类ClassAdviser,系主任类DepartmentHead和院长类Dean,它们是抽象处理者的子类,是具体处理者,必须根据自己的权力去实现父类的抽象方法,如果无权处理就将假条交给下一位具体处理者,直到最后。客户类负责创建处理链

vscode之常用快捷键

独自空忆成欢 提交于 2021-02-18 13:42:43
原文章地址: vscode: Visual Studio Code 常用快捷键 官方快捷键说明: Key Bindings for Visual Studio Code 主命令框 F1 或 Ctrl+Shift+P : 打开命令面板。在打开的输入框内,可以输入任何命令,例如: 按一下 Backspace 会进入到 Ctrl+P 模式 在 Ctrl+P 下输入 > 可以进入 Ctrl+Shift+P 模式 在 Ctrl+P 窗口下还可以: 直接输入文件名,跳转到文件 ? 列出当前可执行的动作 ! 显示 Errors 或 Warnings ,也可以 Ctrl+Shift+M : 跳转到行数,也可以 Ctrl+G 直接进入 @ 跳转到 symbol (搜索变量或者函数),也可以 Ctrl+Shift+O 直接进入 @ 根据分类跳转 symbol ,查找属性或函数,也可以 Ctrl+Shift+O 后输入:进入 # 根据名字查找 symbol ,也可以 Ctrl+T 常用快捷键 编辑器与窗口管理 打开一个新窗口: Ctrl+Shift+N 关闭窗口: Ctrl+Shift+W 同时打开多个编辑器(查看多个文件) 新建文件 Ctrl+N 文件之间切换 Ctrl+Tab 切出一个新的编辑器(最多 3 个) Ctrl+\ ,也可以按住 Ctrl 鼠标点击 Explorer 里的文件名 左中右 3

Java并发指南11:解读 Java 阻塞队列 BlockingQueue

纵然是瞬间 提交于 2021-02-18 10:33:07
解读 Java 并发队列 BlockingQueue 转自:https://javadoop.com/post/java-concurrent-queue 最近得空,想写篇文章好好说说 java 线程池问题,我相信很多人都一知半解的,包括我自己在仔仔细细看源码之前,也有许多的不解,甚至有些地方我一直都没有理解到位。 说到线程池实现,那么就不得不涉及到各种 BlockingQueue 的实现,那么我想就 BlockingQueue 的问题和大家分享分享我了解的一些知识。 本文没有像之前分析 AQS 那样一行一行源码分析了,不过还是把其中最重要和最难理解的代码说了一遍,所以不免篇幅略长。本文涉及到比较多的 Doug Lea 对 BlockingQueue 的设计思想,希望有心的读者真的可以有一些收获,我觉得自己还是写了一些干货的。 本文直接参考 Doug Lea 写的 Java doc 和注释,这也是我们在学习 java 并发包时最好的材料了。希望大家能有所思、有所悟,学习 Doug Lea 的代码风格,并将其优雅、严谨的作风应用到我们写的每一行代码中。 目录 阻塞队列概览 Java中的阻塞队列 BlockingQueue源码分析 BlockingQueue 实现之 ArrayBlockingQueue BlockingQueue 实现之 LinkedBlockingQueue

如何快速搜索SQL数据库数据和对象

喜夏-厌秋 提交于 2021-02-18 09:56:28
原文 如何快速搜索SQL数据库数据和对象 Frequently, developers and DBAs need to search databases for objects or data. If you’d ever searched for a database function that contains a specific table column or a variable name, or for a table that contains specific data, you would have found out that there’s no one click solution, such as Ctrl+F As there is no out-of-the-box solution in SQL Server management Studio, nor Visual Studio, here are a couple of options you can use: Searching for data in tables and views Using SQL to search for specific data in all tables and all columns of a database is far from an optimal