top

Python os.walk() 方法

99封情书 提交于 2019-11-28 23:49:07
Python os.walk() 方法 概述 os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。 os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。 在Unix,Windows中有效。 语法 walk()方法语法格式如下: os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]]) 参数 top -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。 root 所指的是当前正在遍历的这个文件夹的本身的地址 dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录) files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录) topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。 onerror -- 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。 followlinks -- 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic

数据结构之栈

走远了吗. 提交于 2019-11-28 22:08:36
栈:栈是限定仅在表尾进行插入和删除操作的 线性表 。“栈”者,存储货物或供旅客住宿的地方,可引申为仓库、中转站,引入到计算机领域里,就是指数据暂时存储的地方,所以才有 进栈 、出栈的说法 实现一个简单的栈:1,先定义栈的容量          2,定义栈顶,为-1          3,定义一个存储数据的数组stackArray[ ] 代码: package Stack; public class StackDemo { public static void main(String[] args) { Stack stack = new Stack(5); stack.push(1); stack.push(2); stack.push(3); stack.push(4); stack.push(5); stack.list(); } } class Stack{ int stackArray[]; int maxSize;//栈容量 int top = -1;//栈顶 public Stack(int maxSize) { this.maxSize = maxSize; stackArray = new int[maxSize]; }   //栈满 public boolean isFull(){ return top == maxSize - 1; }  //栈空 public

数据结构——栈的使用

痴心易碎 提交于 2019-11-28 21:49:08
title: 数据结构——栈的使用 categories: 数据结构 tags: 数据结构 abbrlink: 332301884 date: 2019-11-06 19:11:43 栈的定义 栈只允许访问一个数据项:即最后插入的数据。移除这个数据项后才能访问倒数第二个插入的数据项。它是一种“后进先出”的数据结构。 栈最基本的操作是出栈(Pop)、入栈(Push),还有其他扩展操作,如查看栈顶元素,判断栈是否为空、是否已满,读取栈的大小等 栈的实现 下面我们就用数组来写一个栈操作的封装类 package com . leeyf . stack ; /** * 初始化一个栈 */ public class Stack < T > { private int size ; //栈的大小 private int top ; //栈顶下标 private Object [ ] stackArray ; //构造函数 public Stack ( int size ) { this . size = size ; this . top = - 1 ; this . stackArray = new Object [ size ] ; } //入栈,同时,栈顶元素下标加一 public void push ( T elem ) { stackArray [ ++ top ] = elem ;

linux下top命令的使用

点点圈 提交于 2019-11-28 20:53:05
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 视图参数含义 top视图分为两部分:操作系统资源概况信息和进程信息。首先分析资源概况中各个参数的含义,再来分析下进程信息中各个参数含义。 资源概况 操作系统时间、登录用户、负载情况-top 10:33:25: 操作系统当前时间 up xx days, HH:MM: 操作系统从开机以后运行的时间,运行多少天多少时多少分 users: 当前系统有三个用户登录在线 load average: 1s, 5s, 15s系统平均负载 运行的任务概览-Tasks total: 系统当前的进程数 running: 当前正在运行的进程数 sleeping 当前睡眠中的进程数 CPU概览: %Cpu(s) 表示CPU使用百分比,按照时间占用计算,单位s us: 用户空间占用CPU时间百分比,如果是多核,这个数值表示占用的平均百分比,可以按1进行多核统计和平均统计切换 sy: 内核空间占用CPU时间百分比,如果是多核,同上 ni 用户进程空间内改变过优先级的进程占用CPU时间百分比 id: 空闲时间占用CPU百分比 wa: 等待输入输出的CPU时间百分比 hi: CPU服务于硬件中断的CPU时间百分比 si: CPU服务于软件中断的CPU时间百分比 注:时间占用百分比

洛谷P3398 树链剖分求树上的两条路径是否有交点

删除回忆录丶 提交于 2019-11-28 20:36:56
题目链接: https://www.luogu.org/problem/P3398 给出a,b,c,d,问a到b的路径和c到d的路径是否有交点。 这里有一个规律(看题解才知道的)就是如果两条路径有交点,那么LCA(a,b)在c到d的路径上或者LCA(c,d)在a到b的路径上,所以我们先求出ab=LCA(a,b),cd=LCA(c,d),判断cd是否在a到b的路径上,只要满足dis(cd,a)+dis(cd,b)==dis(a,b)就行了,也就是cd到a的距离加上cd到b的距离等于a到b的距离,注意这里是距离,用树链剖分的话要用点来代替边,可能有其他做法也不一定。 代码: #include<iostream> #include<cstring> #include<algorithm> #include<queue> #include<map> #include<stack> #include<cmath> #include<vector> #include<set> #include<cstdio> #include<string> #include<deque> using namespace std; typedef long long LL; #define eps 1e-8 #define INF 0x3f3f3f3f #define maxn 200005 struct

JS iframe父子页面元素调用方法 | window parent top opener 解释

痴心易碎 提交于 2019-11-28 20:20:20
iframe 父窗口调用子窗口 var hasMore = parent.document.getElementByIdx_x_x_x("hasMore").value; 子窗口调用父窗口 document.frames["ifrmBoxFrame"].me.preLoadBoxGrid(); window.frames["iframe_ID"].document.getElementByIdx_x_x_x("iframe_document_object"-).object_attribute = attribute_value; window 是对当前窗口自身的引用 如: window.returnValue = ret; window.close(); top 返回顶层窗口,即浏览器窗口。 如: top.frames[tabID].location = url; top.document.frames("ifrmBoxFrame").me.executeQueryCond(); parent 返回父窗口 如: parent.$("Insheet_FrameTable").src = ""; parent.frames["Insheet_FrameSheetList"].initInsheetList(false); opener opener用于在window

P4281 [AHOI2008]紧急集合 / 聚会 树链剖分

£可爱£侵袭症+ 提交于 2019-11-28 19:56:46
   m个询问 每个询问有三个节点 求出 一个节点 使得这三个节点到该结点的距离之和最小 输出该节点和距离之和 一开始用线段树给三条边均加1 最大值的节点就是答案 但是T了 可以优化log 观察三个节点的lca可发现 如果三个lca都相同 那么就是该节点 如果两个相同一个不同 那么则是那个不同的 不会出现三个lca都不相同的情况 树上距离如果有lca的话就是 dep[x]+dep[y]-2*dep[lca] 如果是三个点的最短距离就是 dep[x]+dep[y]+dep[z]-dep[lcaxy]-dep[lcaxz]-dep[lcayz] // luogu-judger-enable-o2 #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=(a);i<=(b);i++) #define repp(i,a,b) for(int i=(a);i>=(b);--i) #define ll long long #define see(x) (cerr<<(#x)<<'='<<(x)<<endl) #define inf 0x3f3f3f3f #define CLR(A,v) memset(A,v,sizeof A) //////////////////////////////////

P3979 遥远的国度 熟练剖分

霸气de小男生 提交于 2019-11-28 17:58:32
   题意: 操作一:将根节点变为x 操作二:将x到y的点权变为v 操作三:询问x及其子树中最小点权 按照1进行树剖即可 如果 x为根节点 那么输出线段树最小值即可 如果x不在1-root的路径上 那么正常输出x的子树即可(为+siz) 如果x在1-root的路径上 设x在1-root上的儿子节点为y 输出除了 id[y],id[y]+siz[y]-1 的其他部分的最小值即可 也就是 1----d[y]-1 id[y]+siz[y]-----n #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=(a);i<=(b);i++) #define repp(i,a,b) for(int i=(a);i>=(b);--i) #define ll long long #define see(x) (cerr<<(#x)<<'='<<(x)<<endl) #define inf 0x3f3f3f3f3f3f3f3f #define CLR(A,v) memset(A,v,sizeof A) ///////////////////////////////////// const int N=1e6+100; ll minn[N<<2],col[N<<2]; int n,m,root,T; ll w

JavaScript中getBoundingClientRect()方法详解

人走茶凉 提交于 2019-11-28 17:35:25
getBoundingClientRect() 这个方法返回一个矩形对象,包含四个属性,分别为top,bottom,left,right。分别表示元素各边与页面上边和左边的距离 例子 var box = document . getElementById ( 'box' ) ; 获取元素 alert ( box . getBoundingClientRect ( ) . top ) ; 元素上边距离页面上边的距离 alert ( box . getBoundingClientRect ( ) . right ) ; 元素右边距离页面左边的距离 alert ( box . getBoundingClientRect ( ) . bottom ) ; 元素下边距离页面上边的距离 alert ( box . getBoundingClientRect ( ) . left ) ; 元素左边距离页面左边的距离 注意:IE、Firefox3+、Opera9.5、Chrome、Safari支持,在IE中,默认坐标从(2,2)开始计算,导致最终距离比其他浏览器多出两个像素,我们需要做个兼容 document.documentElement.clientTop; // 非IE为0,IE为2 document.documentElement.clientLeft; // 非IE为0,IE为2

用栈求算术表达式的值

青春壹個敷衍的年華 提交于 2019-11-28 16:17:33
题目:1 将中缀表达式转换为后缀表达式 2 求后缀表达式的值 #include<stdio.h> #define MaxSize 100 struct { char data[MaxSize]; int top; //栈顶指针 }op; //定义运算符栈 struct { float data[MaxSize]; int top; }st; //定义数值栈 void trans(char exp[],char postexp[]) { int i = 0; int j = 0; char ch; op.top = -1; //栈顶指针初始化为-1 ch = exp[i]; i++; while (ch != '\0') { switch (ch) { case '(': //判定为左括号 直接入栈 op.top++; op.data[op.top] = ch; break; case ')': while (op.data[op.top] != '(') { postexp[j] = op.data[op.top]; op.top--; j++; } op.top--; //左括号也出栈 但不输出 break; case '+': case '-': //为 + 或者 - 时候,优先级不大于栈顶任何运算符的优先级 直到 ) while (op.top != -1 && op