num

力扣(LeetCode)258. 各位相加

让人想犯罪 __ 提交于 2020-03-08 18:16:32
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。 进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? java 暴力 版 class Solution { public int addDigits(int num) { if(num==0) { return 0; } while((int)Math.log10(num) != 0 ) { int sum=0; while(num!=0) { sum += num%10; num /= 10; } num=sum; } return num; } } java 进阶 版 有规律 加和成一位数,肯定是1~9,能被9整除,返回9;不能被9整除,返回余数 class Solution { public int addDigits(int num) { if(num>9) { if(num%9==0) { return 9; }else { return num%9; } }else { return num; } } } 运行结果 来源: https://www.cnblogs.com/lick468/p/10671814.html

TypeScript 循环

给你一囗甜甜゛ 提交于 2020-03-08 17:57:10
TypeScript 循环 文章目录 TypeScript 循环 for 循环 语法 实例 for...in 循环 语法 实例 for…of 、forEach、every 和 some 循环 TypeScript forEach 循环 TypeScript every 循环 while 循环 语法 实例 do...while 循环 语法 实例 break 语句 语法 实例 continue 语句 语法 实例 无限循环 有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图: for 循环 TypeScript for 循环用于多次执行一个语句序列,简化管理循环变量的代码。 语法 语法格式如下所示: for ( init ; condition ; increment ) { statement ( s ) ; } 下面是 for 循环的控制流程解析: init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。 接下来,会判断 condition。如果为 true,则执行循环主体。如果为 false

分页器组件

依然范特西╮ 提交于 2020-03-08 17:22:26
1:django的分页器(paginator)简介 2 应用层View 3 模板层index.html 4 扩展 5 作业(利用ajax和装饰器结合传输数据) 1 Django的分页器(paginator)简介 在页面显示分页数据,需要用到Django分页器组件 from django.core.paginator import Paginator Paginator对象: paginator = Paginator(user_list, 10) # per_page: 每页显示条目数量 # count: 数据总个数 # num_pages:总页数 # page_range:总页数的索引范围,如: (1,10),(1,200) # page: page对象 page对象:page=paginator.page(1) # has_next 是否有下一页 # next_page_number 下一页页码 # has_previous 是否有上一页 # previous_page_number 上一页页码 # object_list 分页之后的数据列表 # number 当前页 # paginator paginator对象 # 你们 写: # for i in range(100): # models.Book.objects.create(name='图书%s'%i,price=10

简单的Python小游戏

北战南征 提交于 2020-03-08 17:09:59
1. 猜单词游戏 游戏介绍: 猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去猜测。此游戏采用控制字符界面,游戏中,可使用序列中的元组存储所有待猜测的单词。因为猜单词游戏需要随机产生某个待猜测单词以及随机数字,所以引入random模块随机数函数。其中,random.choice()可以从序列中随机选取元素。 运行代码 # Word Jumble 猜单词游戏 import random # 创建单词序列 WORDS = ('python','easy','difficult','answer','continue','jumble','phone','desktop', 'position','game','quick','find','apple','banana','orange','stream') print( """ 欢迎参加猜单词游戏 把字母组合成一个正确的单词, """ ) iscontinue="y" while iscontinue == "y" or iscontinue == "Y": # 从序列中随机挑选出一个单词 word = random.choice(WORDS) # 一个用于判断玩家是否参对的变量 correct = word # 创建乱序后的单词 jumble = "" while word: # Word不是空串时循环 #

周报

折月煮酒 提交于 2020-03-08 16:07:49
C语言 这周C语言主要以课设为主, # include <stdio.h> # include <conio.h> # include <string.h> # include <stdlib.h> # include <windows.h> struct date { int year ; int month ; int day ; } ; typedef struct people { char name [ 10 ] ; char card [ 20 ] ; int age ; char sex [ 5 ] ; struct date time ; char degree [ 10 ] ; char place [ 10 ] ; char phone [ 20 ] ; struct people * next ; } PEOPLE ; PEOPLE * input_people ( PEOPLE * head ) ; void display_people ( PEOPLE * head ) ; void query_name_people ( PEOPLE * head ) ; void query_card_people ( PEOPLE * head ) ; void query_name_phone_people ( PEOPLE * head ) ; void

Leetcode12. 整数转罗马数字

巧了我就是萌 提交于 2020-03-08 14:59:36
Leetcode12. 整数转罗马数字 题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。 X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。 给定一个整数,将其转为罗马数字。输入确保在 1 到 3999 的范围内。 题解: 贪心算法 scala代码: /** * 贪心算法 * * @param num * @return */ def intToRoman ( num : Int ) : String = { val romanArr = Array ( "M" ,

Oracle之物化视图

微笑、不失礼 提交于 2020-03-08 14:15:37
物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。 1、物化视图的类型:ON DEMAND、ON COMMIT 二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ON COMMIT是说,一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。 2、ON DEMAND物化视图 物化视图的创建本身是很复杂和需要优化参数设置的,特别是针 对大型生产数据库系统而言。但Oracle允许以这种最简单的,类似于普通视图的方式来做,所以不可避免的会涉及到默认值问题。也就是说Oracle给物 化视图的重要定义参数的默认值处理是我们需要特别注意的。 物化视图的特点: (1) 物化视图在某种意义上说就是一个物理表(而且不仅仅是一个物理表),这通过其可以被user_tables查询出来,而得到佐证; (2) 物化视图也是一种段(segment),所以其有自己的物理存储属性; (3) 物化视图会占用数据库磁盘空间,这点从user_segment的查询结果,可以得到佐证; 创建语句

Oracle之物化视图

左心房为你撑大大i 提交于 2020-03-08 14:15:19
Oracle之物化视图 近期根据项目业务需要对oracle的物化视图有所接触,在网上搜寻关于这方面的资料,便于提高,整理内容如下: 物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。 1、物化视图的类型:ON DEMAND、ON COMMIT 二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ON COMMIT是说,一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。 2、ON DEMAND物化视图 物化视图的创建本身是很复杂和需要优化参数设置的,特别是针 对大型生产数据库系统而言。但Oracle允许以这种最简单的,类似于普通视图的方式来做,所以不可避免的会涉及到默认值问题。也就是说Oracle给物 化视图的重要定义参数的默认值处理是我们需要特别注意的。 物化视图的特点: (1) 物化视图在某种意义上说就是一个物理表(而且不仅仅是一个物理表),这通过其可以被user_tables查询出来,而得到佐证; (2) 物化视图也是一种段(segment)

害死人不偿命的(3n+1)猜想 PTAbasic1001 浙大C++

喜夏-厌秋 提交于 2020-03-08 13:32:07
题目: 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展…… 我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数 n,简单地数一下,需要多少步(砍几下)才能得到 n=1? 输入格式: 每个测试输入包含 1 个测试用例,即给出正整数 n 的值。 输出格式: 输出从 n 计算到 1 需要的步数。 输入样例: 3 出样例: 5 代码示例 # include <iostream> using namespace std ; int main ( ) { int num , time = 0 ; cin >> num ; while ( num != 1 ) { time + = 1 ; if ( num % 2 == 0 ) num = num / 2 ; else num = ( 3 * num + 1 ) / 2 ; } cout << time ; } 来源: CSDN 作者: 乔Emma

Python-多线程

梦想的初衷 提交于 2020-03-08 13:01:47
多线程 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。   thread在python3中被废弃了   python3中threading代替thread模块   为了兼容性 python3将thread改名为 “_thread”   python的标准库提供了两个模块 ,_thread(低级模块) 和 threading(高级模块) 1.threading 启动一个线程就是把一个函数传入并创建threading.Thread( )实例,然后调用start( )开始执行: import threading #导入线程模块 import time #线程函数 def foo(num): print('我的进程名字为:'+threading.current_thread().name) time.sleep(2) print(num) #创建进程 #callback:回调函数 一般用来接收子进程运行函数的返回值 t1 = threading.Thread(target=foo,args=(1,),callback=func) t2 = threading.Thread(target=foo,args=(2,)) #启动线程 t1.start() t2.start() #获取线程运行状态 True为运行 False为未运行 print(t1.is