temp

这一切都要从一只蝙蝠说起——Python初体验

痞子三分冷 提交于 2020-02-07 14:05:00
最近疫情闹得很凶,所以一直宅在家里 (希望朋友们和家人都平安健康,出门戴口罩!博主这边还没有确诊病例,比较安全啦,等下。。。是不是暴露自己的位置信息了) 可爱的小jy(之后会找机会在日常中介绍一下这些大学mate的)推荐我自学一下Python 于是C_T回想起了以前从Pascal转C++的恐惧/抖 不过总体来说Py还是比较好掌握的语言,今天就简单的入门吧 先下载最新版本吧 了解一下基本的操作窗口 我们安装完之后通过IDLE打开Py,浮现出了上面这个执行窗口 新建一个File,我们就可以开始编程啦 一切都要从输出开始 我们程序猿的白月光是什么?! Hello world 注意: 输出指令是 print() ,无 ; 输出字符串时,使用 "" 和 '' 没有肉眼可见的区别 输出 ' " ' 还是一样要在前面增加转义符 Py中的 print(字符串) 自带回车效果 C_T是个实践派,所以我们从祖传猜数游戏开始 游戏规则:计算机随机生成一个1~100的数字,用户通过键盘输入猜测此数,计算机提示是大是小直至猜中 真是一个很精妙的游戏呢,我们可以先分析一下这个游戏编程中的难点: 随机生成1~100的数字 实现键盘输入读取数字 判断大小并采取分支策略 重复读取和判断操作直到达到目标 困难的问题需要 微笑着面对他!加油,奥利给! 分而治之 随机数生成 C++中我们有专门的随机种子 srand

OFFICE 文档转换为html在线预览

旧城冷巷雨未停 提交于 2020-02-07 03:54:48
OFFICE 文档在线预览方案很多: 服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览,比如flexpaper Office文档直接转换为SWF,通过网页加载Flash预览 微软的Office365 在浏览器中直接打开 转换为html 今天,我们要用的方案是转换为html来预览。 技术方案: office文档转换为pdf:使用libreoffice pdf转html,使用pdf2htmlex 测试环境: 操作系统:ubuntu 12.04 1. office文档转pdf 1.1 安装libreoffice apt-get install libreoffice-common 1.2 启动转换服务 soffice --accept="socket,host=127.0.0.1,port=2002;urp;" --nofirststartwizard 1.3 文档转换 网上一般介绍的都是使用JODConverter ,通过java来调用转换服务,其实还有一种替代方案,就是使用pyodconverter,python版本的转换脚本 https://github.com/mirkonasato/pyodconverter/ 下载后,进行测试: python DocumentConverter.py Website_Information_Form.doc new.pdf

React State Props使用示例

狂风中的少年 提交于 2020-02-05 22:50:58
前言 感悟 这几天撸React代码,在撸之前没有仔仔细细阅读官方文档,拿着功能需求按照以往其他语言编程经验及随用随查的API进行开发。发现这个过程是痛苦的,每百度一个简单的功能实现,都会耗费巨大的尽力和筛选有效信息时间,其实静下心来花费一定时间完整阅读官方文档很有必要,因为官方文档能够涵盖大部分开发场景。 场景 在理解了(我以为自己理解了)sate&props后,需要实现一个如下功能组件:输入框,外部可以设置初始值及修改输入框内容,且外部需要感知输入框改变。于是我就撸了下边代码: import React from 'react' export default function TemperatureInput ( props ) { const onChanged = ( e ) => { console . log ( "e:" , e . target . value ) if ( props . onChanged != null ) { props . onChanged ( e . target . value ) } } React . useEffect ( ( ) => { console . log ( "Temperature" ) } ) ; return < div > < input value = { props . initvalue }

c++一些常用函数的积累

让人想犯罪 __ 提交于 2020-02-05 08:55:22
string // string::substr #include <iostream> #include <string> int main () { std::string str="We think in generalities, but we live in details."; // (quoting Alfred N. Whitehead) std::string str2 = str.substr (3,5); // "think" std::size_t pos = str.find("live"); // position of "live" in str std::string str3 = str.substr (pos); // get from "live" to the end std::cout << str2 << ' ' << str3 << '\n'; return 0; } //Output: //think live in details. #include <string> #include <iostream> #include<vector> #include<map> using namespace std; int main(){ string temp; vector<string> ans; map<string,

每天AC系列(十二):K个一组翻转链表

你说的曾经没有我的故事 提交于 2020-02-05 03:43:34
1 题目 LeetCode第25题 ,每K个节点一组进行翻转,剩下不足K个的保留原状. 2 直接翻转 将链表分成三部分,已翻转,待翻转,未翻转三部分: 首先,用一个指针t表示要插入的位置的前驱,一边把head移动k遍,一边插入在t后面(下图假设k=3): int i = 0 ; for ( ; i < k && head != null ; ++ i ) { temp = head . next ; head . next = t . next ; t . next = head ; head = temp ; } 直接插在t的后面,一轮循环之后,移动t与head. t的新位置为未插入head之前的head的位置,因此在插入之前把head的位置保存下来,直接使t移动到该位置,head的位置为自然移动到的位置,不需改变。 ListNode nextTPosition = head ; ListNode temp ; int i = 0 ; for ( ; i < k && head != null ; ++ i ) { temp = head . next ; head . next = t . next ; t . next = head ; head = temp ; } if ( i == k ) t = nextTPosition ; 接着再翻转,到达7后,7不需要翻转

Java查找算法

别来无恙 提交于 2020-02-04 20:36:54
查找算法 一、概述 顺序(线性)查找 二分查找(折半查找) 插值查找 斐波那契查找 二、线性查找 说明 : 找到元素返回下标,若没有找到则返回-1 此处找到一个满足要求的就返回 /** * @author DELL * @Date 2020/2/3 17:53 **/ public class SequenceSearch { public static void main ( String [ ] args ) { int [ ] arr = { 3 , 67 , 2 , 0 , 9 , 56 , 35 } ; int index = seqSearch ( arr , 0 ) ; if ( index == - 1 ) { System . out . println ( "没有此元素!" ) ; } else { System . out . println ( "该元素下标为:" + index ) ; } } /** * 找到一个满足要求的就返回下标,否则返回-1 * * @param arr * @param value * @return */ public static int seqSearch ( int [ ] arr , int value ) { for ( int i = 0 ; i < arr . length ; i ++ ) { if (

词法分析-实验报告

感情迁移 提交于 2020-02-04 02:38:33
实验一 词法分析实验 一、 实验目的   编制一个词法分析程序 二、 实验内容和要求 输入:源程序字符串 输出:二元组(种别,单词本身) 待分析语言的词法规则 三、 实验方法、步骤及结果测试    1. 源程序名:压缩包文件( rar 或 zip )中源程序名 Lexer.c 可执行程序名: Lexer.exe    2. 原理分析及流程图   程序主要是通过字符型二维数组将各种单词符号以字符串的形式储存到数组中,然后再通过对用户输入的字符串将里面的字符逐个判断。   程序中涉及对字符判断的函数主要有三个,分别是Number、Alphabet和Sign。Number主要是将获取到的字符进行判断是否为数字,如果是数字则进行输出操作。Alphabet主要是判断标识符以及关键字的,将用户输入的字符串的字母复制到另一个字符串,然后与单词表的单词比对如果是输出为关键字,否则输出为标识符。Sign的主要功能是分析一些运算符以及界符等。 Number 函数流程图   Alphabet和Sign函数的实现过程与上述函数大致相同。    3. 主要程序段及其解释: void Number()/*识别字符串的数字*/ { int i=temp; if(string[i]>='0'&&string[i]<='9')/*判断是否为数字*/ { while(string[i+1]>='0'&&string

PAT 乙级 1025.反转链表 C++/Java

心已入冬 提交于 2020-02-04 01:50:55
题目来源 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6, K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。 输入格式: 每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数 N ( ≤)、以及正整数 K ( ≤),即要求反转的子链结点的个数。结点的地址是 5 位非负整数,NULL 地址用 − 表示。 接下来有 N 行,每行格式为: Address Data Next 其中 Address 是结点地址, Data 是该结点保存的整数数据, Next 是下一结点的地址。 输出格式: 对每个测试用例,顺序输出反转后的链表,其上每个结点占一行,格式与输入相同。 输入样例: 00100 6 4 00000 4 99999 00100 1 12309 68237 6 -1 33218 3 00000 99999 5 68237 12309 2 33218 输出样例: 00000 4 33218 33218 3 12309 12309 2 00100 00100 1 99999 99999 5 68237 68237 6 -1 分析: 1. 用结构体来保存链表结点的 Address Data

POJ 1328 Radar Installation【贪心】

不打扰是莪最后的温柔 提交于 2020-02-04 01:15:12
POJ 1328 题意: 将一条海岸线看成X轴,X轴上面是大海,海上有若干岛屿,给出雷达的覆盖半径和岛屿的位置,要求在海岸线上建雷达,在雷达能够覆盖全部岛屿情况下,求雷达的最少使用量。 分析: 贪心法,先研究一下每个岛屿,设岛屿到海岸线的垂直距离为d,雷达的覆盖半径为k,若d>k,直接输出-1,若d<=k,则雷达的建造有一个活动区间[x1,x2](用平面几何可以求得出来)。因此,在可以覆盖的情况下每个岛屿都有一个相应的活动区间。该问题也就转变成了最少区间选择问题即: 在n个区间中选择一个区间集合,集合中的各个区间都不相交,集合中元素的个数就是答案了。 #include <iostream> #include <algorithm> #include <stdlib.h> #include <math.h> #include <stdio.h> using namespace std; struct point { double left, right; }p[2010], temp; bool operator < (point a, point b) { return a.left < b.left; } int main() { int n; double r; int kase = 0; while(true) { scanf("%d%lf",&n,&r); if(n==0&

leetcode 224. 基本计算器 C语言

孤街醉人 提交于 2020-02-03 22:59:19
实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。 示例 1: 输入: "1 + 1" 输出: 2 示例 2: 输入: " 2-1 + 2 " 输出: 3 示例 3: 输入: "(1+(4+5+2)-3)+(6+8)" 输出: 23 说明: 你可以假设所给定的表达式都是有效的。 请不要使用内置的库函数 eval。 #define true 1 #define false 0 int isDigit(char ch) { if (ch >= '0' && ch <= '9') { return true; } return false; } int calculate(char *s) { int len = strlen(s); int *stackDigit = (int*)malloc(sizeof(int) * len); char *stackOperator = (char*)malloc(sizeof(char) * len); int stackDigitTop = -1; int stackOperatorTop = -1; int i = 0; int tempDigit = 0; int num1 = 0; int num2 = 0; int temp = 0; for