num

C语言算法---N的倍数

戏子无情 提交于 2020-03-17 12:11:01
N的倍数 文章目录 N的倍数 问题描述 : 输入说明 : 输出说明 : 输入范例 : 输出范例 : 算法思想 参考代码 问题描述 : 任意给定一个自然数N,寻找一个M,要求M是N的倍数,且它的所有各位数字都是由0或1组成,并要求M尽可能小。 输入说明 : 输入多组测试数据,每组测试数据仅占一行,每行仅包括一个正整数N(1≤N≤100) 输出说明 : 每组运算结果为一个整数,即N的倍数M。 输入范例 : 1 2 输出范例 : 1 10 算法思想 说到底本题就是二叉树的层次遍历,以 1 为根,其他子节点分别为 0 和 1; 定义一个队列,实现遍历; 参考代码 void func ( int n ) { int x , queue [ MAX_SIZE ] , front = 0 , rear = 0 , num ; queue [ front ++ ] = 1 ; // 1入队 while ( front != rear ) { num = queue [ rear ++ ] ; //出队 if ( num % n == 0 ) { printf ( "%d\n" , num ) ; return ; } else { queue [ front ++ ] = num * 10 ; queue [ front ++ ] = num * 10 + 1 ; } } } 来源: CSDN

数据探查postgresql数据库

橙三吉。 提交于 2020-03-17 11:05:50
1 import pandas as pd 2 import xlrd 3 import psycopg2 4 5 class Expedition(object): 6 def __init__(self, database, user, psd, ip, port): 7 self.database = database 8 self.user = user 9 self.psd = psd 10 self.ip = ip 11 self.port = port 12 self.tables = [] 13 self.schema = 'schema名' 14 15 def get_table_info(self): 16 dblink = psycopg2.connect(database=self.database, user=self.user, password=self.psd, host=self.ip, port=self.port) 17 print("链接成功") 18 cur = dblink.cursor() 19 print("创建游标成功") 20 for table in self.tables: 21 print(table) 22 cur.execute(f"""SELECT cast(obj_description(relfilenode,

力扣力扣力扣!(01-摩尔投票法)

£可爱£侵袭症+ 提交于 2020-03-17 09:51:56
最近在刷力扣的每日一题,最为菜鸡,感觉难度还好。 今天的题:在一列长度为n的 数组 中找到一个出现次数大于于[n/2]的数(默认有) 今天看到了 摩尔投票法 感觉比自己想的要快。 (p.s. :哪个排列取中间我就不看了,毕竟是算法题,而且反正都需要遍历一遍) ————————————————————————— 摩尔投票法 是一种抵消的思想 1.有([n/2]+?)个相同数,则在与其他数一一相消的条件下,这个相同数一定会有剩余。 2.由上,所有数“大混战”剩余的数一定是那个数量大于于[n/2]的数(相同的数字不消除!!!) 算法想法: 1.认为第一个就是所求的数,并且计数为1 2.下个数相同->计数加一|下个数不同->计数减一 3.判断 计数为0时换数 class Solution { public : int majorityElement ( vector < int > & nums ) { int ticket = 0 , num = 0 ; for ( int i = 0 ; i < nums . size ( ) ; i ++ ) { if ( ticket == 0 ) { num = nums [ i ] ; ticket ++ ; } else { num == nums [ i ] ? ticket ++ : ticket -- ; } } return num

I2C通信

心不动则不痛 提交于 2020-03-17 07:52:44
项目之前研究了I2C通信协议的实现,完成FPGA对视频解码芯片SAA7111A的初始化配置,设计实现了I2C主机对从机(SAA7111A)32个寄存器的写操作,因此只简单实现了I2C的写时序。 这次重新梳理学习了I2C协议,借助黑金开发板设计I2C主机控制器完成对EEPROM(24LC02)的读写操作,设计单字节的写时序和随机读时序。通过按键将数据先入EEPROM,再通过按键选择将数据显示在数码管上进行验证。 1. 时序介绍 主要的时序如下所示: 数据线SDA在空闲状态时为高电平,在SCL高电平时拉低SDA表示开始,在SCL低电平时拉高SDA表示结束。数据在SCL低电平时变化,8位数据,高位在前,低位在后。一个数据字节后,接收器需要产生一个低电平,即拉低SDA,表示接收正确。 写时序: 读时序: 其中,应答位一般由接收器产生,在读时序时主机接收数据一般不产生应答位(NO ACK),除了在连续读模式下,一个数据读完需要拉低SDA产生应答位。 2. 串行时钟线(SCL) 首先要确定SCL时钟,根据系统时钟利用计数器完成SCL的100KHz的设置,这里SCL作为输出信号,因此为输出单向口。 1 //分频部分 2 reg[2:0] cnt; // cnt=0:scl上升沿,cnt=1:scl高电平中间,cnt=2:scl下降沿,cnt=3:scl低电平中间 3 reg[8:0] cnt

Leetcode36. 有效的数独

↘锁芯ラ 提交于 2020-03-17 07:29:15
Leetcode36. 有效的数独 题目: 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 ‘.’ 表示。 示例 1: 输入: [ ["5","3",".",".","7",".",".",".","."], ["6",".",".","1","9","5",".",".","."], [".","9","8",".",".",".",".","6","."], ["8",".",".",".","6",".",".",".","3"], ["4",".",".","8",".","3",".",".","1"], ["7",".",".",".","2",".",".",".","6"], [".","6",".",".",".",".","2","8","."], [".",".",".","4","1","9",".",".","5"], [".",".",".",".","8",".",".","7","9"] ] 输出: true 题解: 可以使用 box_index = (row / 3) * 3 + columns /

Python之线程

心已入冬 提交于 2020-03-17 06:34:56
为什么需要线程 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率。很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的,主要体现在两点上: 进程只能在一个时间干一件事,如果想同时干两件事或多件事,进程就无能为力了。 进程在执行的过程中如果阻塞,例如等待输入,整个进程就会挂起,即使进程中有些工作不依赖于输入的数据,也将无法执行。 什么是线程 线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元,也是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 线程与进程的区别: 根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位 在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。 所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)

高级变量类型

那年仲夏 提交于 2020-03-17 06:03:27
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 ( int ) 浮点型( float ) 布尔型( bool ) 真 True 非 0 数 —— 非零即真 假 False 0 复数型 ( complex ) 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题 非数字型 字符串 列表 元组 字典 在 Python 中,所有 非数字型变量 都支持以下特点: 都是一个 序列 sequence ,也可以理解为 容器 取值 [] 遍历 for in 计算长度 、 最大/最小值 、 比较 、 删除 链接 + 和 重复 * 切片 01. 列表 1.1 列表的定义 List (列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义, 数据 之间使用 , 分隔 列表的 索引 从 0 开始 索引 就是数据在 列表 中的位置编号, 索引 又可以被称为 下标 注意:从列表中取值时,如果 超出索引范围 ,程序会报错 name_list = [ "zhangsan" , "lisi" , "wangwu" ] 1.2 列表常用操作 在 ipython3 中定义一个 列表 ,例如: name_list = [] 输入 name

MySQL 分组累加

a 夏天 提交于 2020-03-17 05:59:40
我的思路是先取出每组累加跟每组总数,再合成一张表进行除法 要注意取出数据时要找到能与tb_id_num 关联的参数值 1,求出 分组累加 : SELECT id,( SELECT SUM(num) FROM tb_id_num WHERE `name`=c.name AND id<=c.id) total FROM tb_id_num c 2,求出 分组求和 SELECT name,SUM(num) sum_num FROM tb_id_num GROUP BY `name` 3,合成一张表并查询 SELECT a.id,a.num,a.`name` FROM tb_id_num a LEFT JOIN (SELECT name,SUM(num) sum_num FROM tb_id_num GROUP BY `name`) b ON a.name = b.name LEFT JOIN ( SELECT id, ( SELECT SUM(num) FROM tb_id_num WHERE `name`=c.name AND id<=c.id) total FROM tb_id_num c) d ON a.id = d.id WHERE (d.total / b.sum_num )>0.6 来源: https://www.cnblogs.com/jescs/p/12162267

活动页和题来了(滚动抖动)

核能气质少年 提交于 2020-03-17 04:52:49
伴随着html5和css3的成熟,页面展现的越来越绚丽越吸引人,尤其体现在各大网站的专题活动上。 现在写了一个简略的框框。 实现思想: 当滚动条滚动时,滚动到底部切换到下一屏,滚动到顶部时切换到上一屏。 点击按钮时滚动到对应的屏。 代码简略: 1、滚动条滚动方向,-1向下,1向上,注意:如用ie,请用ie9以上的浏览器看效果。 document.addEventListener(mousewheel,function(e){ e = e || window.event; if(!isFirefox){ direct = e.wheelDelta>0?-1:1; } else{ direct = e.detail<0?-1:1; } },false); 2、滚动到那一屏 $(document).scroll(function(){ rollH = $(this).scrollTop(); if(islock){ if((rollH===docH-winH) && (direct === 1 )){ num++; if(num>5){ num = 5; return; } if(!((num===5)||(num===0))){ islock = false; } running(num); } else if((rollH ===0)&&(direct === -1)){ num--

Mysql增删改查

孤者浪人 提交于 2020-03-17 04:50:39
1、增 insert into 表 (列名,列名...) values (值,值,...) insert into 表 (列名,列名...) values (值,值,...),(值,值,值...) insert into 表 (列名,列名...) select (列名,列名...) from 表例: insert into tab1(name,email) values('zhangyanlin','zhangyanlin8851@163.com') 2、删 delete from 表 # 删除表里全部数据 delete from 表 where id=1 and name='zhangyanlin' # 删除ID =1 和name='zhangyanlin' 那一行数据 3、改 update 表 set name = 'zhangyanlin' where id>1 4、查 select * from 表 select * from 表 where id > 1 select nid,name,gender as gg from 表 where id > 1 a、条件判断where select * from 表 where id > 1 and name != 'aylin' and num = 12; select * from 表 where id between 5