col

剑指offer——顺时针打印矩阵

不羁岁月 提交于 2019-12-05 04:53:39
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 暴力写: # -*- coding:utf-8 -*- class Solution: # matrix类型为二维列表,需要返回列表 def __init__(self): self.result=[] def printMatrix(self, matrix): # write code here row=len(matrix) col=len(matrix[0]) if row==col==0: return self.reuslt elif row==1: self.result+=matrix[0] return self.result elif col==1: for i in range(row): self.result+=matrix[i] return self.result elif row==2: self.result+=matrix[0] self.result+=matrix[1][::-1] return self.result elif col==2: self

python调用C++

╄→尐↘猪︶ㄣ 提交于 2019-12-05 04:43:37
下面说的这种方法不是通过swig,而是先将C++模块编译成动态链接库.so,再利用python模块ctypes进行调用; 1、编写C++程序 #include<opencv2/opencv.hpp> #include<vector> extern "C" //需要调用的C++程序就把声明写到这个extern "C"范围中; { float test(int height, int width, uchar* frame_data); } float test(int height, int width, uchar* frame_data) { cv::Mat image(height, width, CV_8UC3); uchar* pxvec =image.ptr<uchar>(0); int count = 0; for (int row = 0; row < height; row++) { pxvec = image.ptr<uchar>(row); for(int col = 0; col < width; col++) { for(int c = 0; c < 3; c++) { pxvec[col*3+c] = frame_data[count]; count++; } } } std::vector<int> a(3); float value = 0.2;

Java 读取excel表格文件

微笑、不失礼 提交于 2019-12-05 02:29:58
注意,本文使用的Jar包为 jxl.jar ,只能处理97-03版本xls格式的Excel jar包 maven依赖: <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.10</version> </dependency> jar包maven下载地址 使用 读取xls文件 //通过文件IO,读入一个xls文件 Workbook book = Workbook.getWorkbook(new File(path)); //获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,....) Sheet sheet = book.getSheet(0); //遍历每一行内容 for (int i = 0; i <sheet.rows; i++) { //getCell获得单元格,参数为(列,行)的下标 System.out.println(sheet.getCell(0, i).getContents()); } 写出xls文件 File xlsFile = new File("jxl.xls"); // 创建一个工作簿 WritableWorkbook workbook = Workbook

BZOJ1006 [HNOI2008]神奇的国度

坚强是说给别人听的谎言 提交于 2019-12-04 22:53:33
标签: 弦图 有关弦图的定义与mcs算法请自学(模板) 题意为求弦图的色数 \(\chi(G)\) 做法: 最优染色构造:将完美消除序列从后往前依次给每个点染色,给每个点染上可染的最小颜色 证明: 设以上方法用 \(col\) 个颜色,原图团数为 \(\omega(G)\) 引理: \(\omega(G) \leq \chi(G)\) 引理证明:对最大团的导出子图染色,至少需要 \(\omega(G)\) 种颜色(因为团中每个点都相邻,每个点都需用不同的颜色) 设 \(col \geq \chi(G)\) 团上每个点都不同 \(\rightarrow col = \omega(G)\) 由引理: \(col = \omega(G) \leq \chi(G)\) , \(col \geq \chi(G)\) $\therefore t = \omega(G) =\chi(G) $ \(ans = max\{|\{x\} + N(x)|\} = max\{lab_i\} + 1\) 代码: 要开O2优化 #include <iostream> #include <cstdio> using namespace std; const int N = 1e4 + 1; int n, m, u, v, lab[N], p[N]; bool c[N][N], vis[N]; inline

数据库相关知识积累(sqlserver、oracle、mysql)

拟墨画扇 提交于 2019-12-04 21:55:36
数据库相关知识积累( sqlserver 、 oracle 、 mysql ) 1. sqlserver :断开所有连接: (还原数据库) 1.数据库 分离 2. USE master GO ALTER DATABASE [GPOSDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO --查看是否还有用户连接 SELECT * FROM sys.[sysprocesses] WHERE DB_NAME([dbid])='gposdb' GO ALTER DATABASE [GPOSDB] SET MULTI_USER GO 2.SQL server:除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。(SQLSERVER数据库) 原因:默认情况下,如果在子查询,函数,视图中尝试使用order by,就遇到这种错误,原因是针对一个表的select其实并不是返回一个表,而是一个游标(不知道Oracle数据库是不是相同情况) 3. sqlserver插入单引号:在sqlserver中用两个单引号就代表一个单引号 insert into tb(field) values('a''bc'); mysql中用\' insert into tb(field)

Python01_multiply

假如想象 提交于 2019-12-04 17:58:25
重新学习Python(*^▽^*)编译环境 sublime3 1 # -*- coding: utf-8 -*- 2 # @Author: Shyxiaoniu 3 # @Date: 2019-11-17 13:59:33 4 # @Last Modified by: Shy_x 5 # @Last Modified time: 2019-11-17 14:19:59 6 7 def multiply(row): # 声明乘法表函数,定义行参数 row 8 9 row1 = 1 # 定义函数内部变量row1,表示函数内部行数 10 11 while row1 <= row: # 设置循环判断函数内行数参数和函数实参大小 12 13 col = 1 # 定义变量col,表示变化的列数 14 15 while col <= row1: # 设置函数判断列数和函数内部行数大小 16 17 print("%d X %d = %d" % (col, row1, col * row1), end = '\t') # 输出显示的内容,列数乘以行数等于结果,end功能使打印结束后不会自动换行 18 19 col += 1 # 列数进行+1操作 20 21 print("") # 一行结束后自动换行 22 23 row1 += 1 # 函数内行数自动+1 24 25 row = int(input(

C# web项目中sql数据库转sqlite数据库

烂漫一生 提交于 2019-12-04 16:23:36
最近做了一个小网站,用到了一个使用sql server 2005的.net cms系统,但是现在我所买虚拟主机的服务商,不给虚拟主机提供sql server服务了,那就转数据库吧,转啥好呢,思来想去,access?刚入行时候用了很久,简单够用,不过实在提不起兴趣了,sqlite?嗯...还没用过,只是简单看过介绍,听说性能还不错,那就试试吧,等等,不知道虚拟主机支持不支持?!百度!然而一大堆没啥用处的提问和回答,也许可能大概是我搜索的关键词不对,懒得管了,年龄大了,没有那个劲儿了,实践出真理,先上手试试验证一下吧,说干就干 先查查怎么在本地创建和管理数据库,然后选择使用了SQLiteStudio这个软件,然后新建个test数据库->随便插条数据->然后在vs创建个test web项目->数据库文件扔进去->新建个页面,查下数据显示到页面->本地运行,ok!,发布,->上传虚拟主机,怀着稍稍激动的心情,打开网址,ok!完全可以! 这么简单吗?nonono,运行之前还是有点小小的障碍的: 首先项目需要用到System.Data.SQLite.dll,到sqlite官网下一个吧, http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 然后添加引用,引用之后,还需要连接字符串,搜索(ss)! 嗯

PHPExcel 使用笔记

∥☆過路亽.° 提交于 2019-12-04 13:32:45
<?php /** https://blog.csdn.net/qq_39647045/article/details/82385736 */ /** * 简单的数据输入 */ //引入核心文件 require_once dirname(__FILE__)."/PHPExcel/Classes/PHPExcel.php"; //创建数据对象 $objPHPExcel = new PHPExcel(); //如果是要用某个Excel模板那么久使用该方法来创建数据对象 // $objPHPExcel = PHPExcel_IOFactory::load("a.xlsx"); /** * 文档属性设置 */ // Set document properties 设置文档属性 $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Test document for Office 2007 XLSX, generated

Python对csv排序

最后都变了- 提交于 2019-12-04 13:32:12
#/usr/bin/evn python # -*- coding: utf-8 -*- import sys from operator import itemgetter # input_file = open(sys.argv[1]) input_file = open("D:\\tmp\\a.csv") output_file = open("D:\\tmp\\asorted.csv","w") table = [] for line in input_file: col = line.split('|') col[0] = col[0].strip() col[1] = int(col[1]) col[2] = int(col[2]) col[3] = int(col[3].strip()) table.append(col) #嵌套列表table[[8,8][*,*],...] table_sorted = sorted(table, key=itemgetter(1,2),reverse=True)#先后按列索引1,2排序,降序排列 output_file.write('header' + '\n') for row in table_sorted: #遍历读取排序后的嵌套列表 row = [str(x) for x in row] #转换为字符串格式,好写入文本

Java 数组

匆匆过客 提交于 2019-12-04 13:22:28
一维数组 1)声明: 类型 []变量名 或 类型 变量名[] int [] a 或 int a[]; 注意声明数组时不要规定数组的长度,长度在初始化即分配空间时给定 2)初始化: 数组是一个对象,用new分配空间 静态初始化 int [] a = {1,2,4}; 动态初始化 int [] a = new int[n] 或 int a[] = new int[n] 这里的n可以是一个变量,在声明数组之前声明n的大小即可 初始化时可以不声明大小,可以直接给定数组元素的值 int [] a = new int[]{1,2,4}; 但不可在声明大小的同时赋值 int [] a = new int[3]{1,2,4}; 注意数组大小是不可变的,一旦声明不可改变大小 看一个例子: int[] a = new int[2]; a = new int[3]; 编译运行都正常,看起来像是重新定义了数组的大小,验证一下 int a[] = new int[2]; a[0] = 1; a[1] = 2; a = new int[3]; System.out.println(a[0] + " " + a[1]); 输出是0 0,说明数组a已经不是原来的a了,这里相当于重新创建一个大小为3的数组 3)访问 单个元素使用下标访问:a[0] 遍历可用for循环或foreach。 二维数组