小技巧
-====================
冷眼观world
社畜
展开
-
【转载】scanf("\n")或scanf(" ")用法详解
输入设备(键盘)连接着一个叫“缓冲”的东西,可以把缓冲认为是一个字符数组。 当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住,等待你从键盘输入。 现在假设你的缓冲区里有:abcd\n1234\n (其中\n是回车符)执行: scanf("%s", name); 的时候,由于scanf是读数据直到看见空白符(空白符:指空格符、制表符、回车符)就停止的输入函数。所以执...转载 2020-04-11 20:11:23 · 234 阅读 · 0 评论 -
【简单】Leetcode-最长回文串///位运算符判断奇偶
给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: “abccccdd” 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 思路:对于字符串s中的每个字符c:如果出现个数是偶数个,那么一定可以全...原创 2020-03-19 14:52:44 · 170 阅读 · 0 评论 -
【转载】链表常用套路之——快慢指针
概述 使用多个指针是解决链表问题的常用套路(诸如反转链表需要三个指针前中后等),其中有两个比较特殊的指针分别是slow指针和fast指针,也叫快慢指针。 原理 快慢指针顾名思义,即一个移动的比较快的指针和一个移动的比较慢的指针。 实际运用中可以这么写: slow = slow.next; fast = fast.next.next; 假设快慢指针原来都指向头结点,这样的话,fast指针移动速度就是...转载 2020-02-14 20:59:35 · 182 阅读 · 0 评论 -
PAT乙级1026 程序运行时间///四舍五入小技巧
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟打点数...原创 2019-11-29 22:42:03 · 118 阅读 · 0 评论 -
拆数字///素数判断法///巧妙优化///拓展埃及筛 欧拉筛
1.普通做法,我的思路是每输入一个数之后,用j从1到这个数循环,一个一个判断是否都为素数,缺点是时间复杂度原创 2019-11-19 19:24:55 · 212 阅读 · 0 评论 -
///斐波那契非递归做法///判断完全平方数小技巧
#include <iostream> #include <cmath> using namespace std; int main() { int a=1,b=1,c=1,count=0,n=0; cin >> n; for(int i=1; i<=n; i++) { if(sqrt(a) == int(sqrt(a))) ...原创 2019-11-19 19:24:23 · 144 阅读 · 0 评论