num

LeetCode 342.Power of Four(n&(n-1)、0x55555555)

六眼飞鱼酱① 提交于 2020-01-22 03:08:50
题目链接: 点击这里 1:1 2:10 4:100 8:1000 16:10000 可以在 2 2 2 的幂的基础上筛选出 4 4 4 的幂,即判断 1 1 1 是在奇数位还是偶数位。可以借助于按位与运算和0x55555555筛选出 1 1 1 的位置。 下述具有特殊二进制的整数,可以很方便进行位操作,而且该整数的十六进制形式比较好记,也不用写那么多的0、1: 0xaaaaaaaa = 10101010101010101010101010101010 (偶数位为1,奇数位为0) 0x55555555 = 1010101010101010101010101010101 (偶数位为0,奇数位为1) 0x33333333 = 110011001100110011001100110011 (1和0每隔两位交替出现) 0xcccccccc = 11001100110011001100110011001100 (0和1每隔两位交替出现) 0x0f0f0f0f = 00001111000011110000111100001111 (1和0每隔四位交替出现) 0xf0f0f0f0 = 11110000111100001111000011110000 (0和1每隔四位交替出现) class Solution { public : bool isPowerOfFour ( int num ) { if

计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛(一)

↘锁芯ラ 提交于 2020-01-22 03:00:55
题目集传送门 打铁弱鸡,若各位大佬发现错误麻烦评论指正。 A. 结果填空:有趣的数字 蓝桥杯标准的送温暖题,枚举每个数判断是否含有数字5并进行判素数后计数即可。 const int MAXN = 100000 ; bool check ( int n ) { while ( n ) { if ( n % 10 == 5 ) return true ; n / = 10 ; } return false ; } bool prime ( int n ) { if ( n < 2 ) return false ; bool ret = true ; for ( int i = 2 ; i * i <= n ; i ++ ) { if ( n % i == 0 ) ret = false ; } return ret ; } int main ( ) { int cnt = 0 ; for ( int i = 1 ; i <= MAXN ; i ++ ) if ( check ( i ) && prime ( i ) ) cnt ++ ; cout << cnt << endl ; return 0 ; } B. 结果填空:爬楼梯 超级经典的dp,蓝桥杯日常经典题变形。 萌新可以先做这道题 传送门 通过暴力枚举我们可以发现当步数为1和2时,方案数为1 1 2 3 5 8 11

python统计字符串中文字符的个数

做~自己de王妃 提交于 2020-01-22 02:45:06
string = input ( ) num = 0 ch = 0 space = 0 other = 0 for x in string : # if x.isnumeric(): if '\u0030' <= x <= '\u0039' : num += 1 elif x . isspace ( ) : space += 1 elif x . isalpha ( ) or '\u4e00' <= x <= '\u9fff' : ch += 1 else : other += 1 print ( ch , space , num , other ) 来源: CSDN 作者: dandeseed 链接: https://blog.csdn.net/qq_41082953/article/details/104065874

基于Vue.js的表格分页组件

不想你离开。 提交于 2020-01-22 01:00:26
BootPage组件简介 其实也不是啥高大上的组件了,相反确实一个简单的表格分页组件而已,主要是自己最近项目中需要一个表格分页组件,而Vue官方组件库里分页组件都功能太强大或者没有适合我的,所以就自己写了一个凑合着用,或许有人和我一样需要这样一个简单的分页组件来实现简单的分页功能,我便在这里分享一下,大家自觉填坑咯。 如需高大上的组件,可以移步Vue官方组件库: https://github.com/vuejs/awesome-vue#libraries--plugins BootPage是一款支持静态数据和服务器数据的表格分页组件,支持调整每页显示行数和页码显示个数,样式基于bootstrap,就像这样: 在线演示: https://luozhihao.github.io/B... 使用方法 在.vue的组件文件中我们这样写template,即html代码: <table class="table table-hover table-bordered"> <thead> <tr> <th width="10%">id</th> <th width="30%">name</th> <th width="40%">content</th> <th width="20%">remark</th> </tr> </thead> <tbody> <tr v-for="data in

PAT (Advanced Level) 1075 PAT Judge

怎甘沉沦 提交于 2020-01-22 00:51:35
题解 模拟。 题目有三种状态。 第一种为题目得到了一定的分数( >= 0); 第二种为题目提交过但是没有通过编译(代码中状态为 -2 ,输出对应 0 ); 第三种题目根本就没提交过(代码中状态为 -1 ,输出对应 ‘-’ )。 考生只要至少有一道题目满足第一种情况,即可将这位考生的信息输出出来。 代码 #include<bits/stdc++.h> using namespace std; int N,K,M,score[6]; struct node { int name,grade[6],total_solve,sum,rank,isactive; node() { fill(grade,grade+6,-1); total_solve=sum=isactive=0; } void set_grade(int num,int w) { if(w==score[num]&&grade[num]!=score[num]) total_solve++; if(w>=0) isactive=1; if(w==-1&&grade[num]==-1) grade[num]=-2; else if(grade[num]<w&&w>=0) { if(grade[num]!=-1&&grade[num]!=-2) sum-=grade[num]; sum+=w; grade[num]=w; }

pat每日刷题计划--day68

社会主义新天地 提交于 2020-01-21 23:54:19
PAT B1020 月饼 题目是典型贪心,注意题目描述正数,可能是double,不要想当然或者只看样例 另外注意 double的读取是%lf,输出是%f,如果两位小数%.2f %lld是对longlong的(longlong的输入输出是%lld或者%l64d,输入输出同) #include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> using namespace std; struct yuebing { double kucun; double shoujia; double danjia; }yb[1005]; bool cmp(yuebing a,yuebing b) { return a.danjia>b.danjia; } int main() { int num=0,sum=0; double money=0; scanf("%d %d",&num,&sum); for(int i=0;i<=num-1;i++) scanf("%lf",&yb[i].kucun); for(int i=0;i<=num-1;i++) { scanf("%lf",&yb[i].shoujia); yb[i].danjia=yb[i].shoujia*1.0/yb[i].kucun; } sort

PAT乙级 1004 成绩排名 c++实现

不问归期 提交于 2020-01-21 22:29:21
PAT乙级 1004 成绩排名 c++实现 题目: 读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 … … … 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。 输出格式: 对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。 输入样例: 3 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95 输出样例: Mike CS991301 Joe Math990112 思路: 创建字符串数组分别存储姓名和学号,创建数组存储成绩,分别输入他们当前的信息,如果成绩大于当前成绩,则保存当前的信息,如果成绩小于最小成绩,同样保存当前信息, 同常见的打擂台算法 。循环完成后分别输出即可。 上代码: # include <iostream> # include <string> using namespace std ; int

Thread线程间协作

孤人 提交于 2020-01-21 21:54:26
目录 join yield CountDownLatch CyclicBarrier wait notify LockSupport Condition Conditions SynchronousQueue 线程间的交互和协作从简单到复杂有很多种方式, 下面会从最简单的join开始到使用各种方式和工具来分析. 为了辅助分析线程间的协作, 先撸一下线程的各个状态和状态间轮转的条件. 状态 描述 NEW 创建对象后start之前的状态 RUNNABLE 调用start或yield之后, 代表可以随时运行 BLOCKED 线程等待monitor enter时(等锁), 阻塞状态 WAITING 等待状态, 和阻塞不一样通常可以被interrupt TIMED_WAITING 同WAITING, 但是TIMED_WAITING有时间限制, 超时后终止TIMED_WAITING进入RUNNABLE TERMINATED 线程运行完毕或被关闭后的状态 各个状态之间的流转参考下图所示 join join可以做到最简单的线程交互, 可以让某个线程阻塞起来进入 WAITING 或 TIMED_WAITING 状态, 等另外一个线程执行完成或超时后再继续运行. 以下面代码为例, 线程A启动起来sleep两秒钟. 线程B紧随着线程A启动, 并在线程B中join线程A. 查看运行结果.

python3从lrc歌词网(https://www.90lrc.cn)爬取歌词并制作成lrc文件

[亡魂溺海] 提交于 2020-01-21 21:31:55
# -*- coding:utf-8 -*- import requests import json import re from bs4 import BeautifulSoup import re import os from urllib import parse support_format = ["mp3", "wav", 'ape'] songDict = {} lrc_list = [] singerDict = {} songUrlMap = {} page_list=[] g_find_num=0 def get_song_info(song_dir, lrc_dir): ''' 获取指定目录dir下的歌曲文件名称(格式为 歌手 - 歌曲名称.mp3),将歌曲名成保存为列表形式,在生成歌词文件时使用,同时生成一个{歌手:[歌曲名1,歌曲名2]} 的一个map. ''' #获取文件名 song_files = os.listdir(song_dir) lrc_files = os.listdir(lrc_dir) #待爬取的歌曲信息 songDict = {} # songDict{songName:fileName} singerDict = {} # singerDict{singer: [songName]} for lrc_file in lrc_files

MYSQL日历表的实现

六月ゝ 毕业季﹏ 提交于 2020-01-21 17:34:09
CREATE TABLE num (i int);-- 创建一个表用来储存0-9的数字 INSERT INTO num (i) VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);-- 生成0-9的数字,方便以后计算时间 CREATE TABLE if not exists calendar(datelist date); -- 生成一个存储日期的表,datalist是字段名 -- 这里是生成并插入日期数据 INSERT INTO calendar(datelist) SELECT adddate( ( -- 这里的起始日期,你可以换成当前日期 DATE_FORMAT("2018-1-1", '%Y-%m-%d') ), numlist.id ) AS `date` FROM ( SELECT n1.i + n10.i * 10 + n100.i * 100 + n1000.i * 1000+ n10000.i * 10000 AS id FROM num n1 CROSS JOIN num AS n10 CROSS JOIN num AS n100 CROSS JOIN num AS n1000 CROSS JOIN num AS n10000 ) AS numlist; 来源: CSDN 作者: 趙小欠儿_10 链接: