精华内容
下载资源
问答
  • 输入一个三位数,比如:654 ...取出十位:parseInt((num%100)/10) 取出个位:parseInt(num%10) 至于四位数的如1401,用1401/100,结果 14.01 解决方法,用取整函数 let a = Math.trunc(1401/100); // 14 ...

    输入一个三位数,比如:654

    取出百位:parseInt(num/100)

    取出十位:parseInt((num%100)/10)

    取出个位:parseInt(num%10)

    至于四位数的如1401,用1401/100,结果 14.01

    解决方法,用取整函数

    let a = Math.trunc(1401/100); // 14

    展开全文
  • 书签侧边栏 今天有幸请教了 记得诚、小麦大叔、SoWhat、程序猿学社 等十位博客专家,给大家推荐一些谷歌浏览器插件,让你的谷歌浏览器更实用,成为真正的生活办公小助手! 谷歌浏览器插件安装两种方法: ① 在谷歌...

    写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的

    这博客是对自己学习的一点点总结及记录,如果您对 Java算法 感兴趣,可以关注我的动态,我们一起学习。

    用知识改变命运,让我们的家人过上更好的生活


    今天有幸请教了 记得诚小麦大叔SoWhat程序猿学社 等十位博客专家,给大家推荐一些谷歌浏览器插件,让你的谷歌浏览器更实用,成为真正的生活办公小助手!

    谷歌浏览器插件安装两种方法

    ① 在谷歌商店搜索插件名称可以直接安装

    ②找到对应的.crx文件安装。

    安装方法:在谷歌浏览器右上角设置里面,点击更多工具,点击扩展程序,在里面右上角打开开发者模式,将.crx文件直接拖动到页面里面即可安装。

    在这里插入图片描述

    在这里插入图片描述

    Top 1. Postman Interceptor

    在这里插入图片描述

    Postman Interceptor是一款可以帮助用户通过Postman应用程序发送带有浏览器Cookie的请求。程序员必备!


    Top 2. Tampermonkey

    在这里插入图片描述

    Tampermonkey用于运行所谓的用户脚本(有时也称为Greasemonkey脚本)。

    Tampermonkey 上有非常多好用的插件,比如:

    ① 直接下载百度网盘文件(全速)
    ② 重新定制繁杂的微博页面
    ③ 去掉视频播放广告(甚至播放vip视频)
    ④ 将网站默认的「二维码登录」改回「账号密码登录」
    ⑤ 绕过搜索引擎的跳转提示
    ⑥ 还原清新的小说阅读模式


    Top 3. Adblock Plus

    在这里插入图片描述

    每天刷网页最烦的就是各种乱七八糟的广告,Adblock Plus是Chrome浏览器中非常流行的一款广告拦截插件。 阻止 YouTube™ 广告、弹出窗口并抵御恶意软件!享受没有恼人广告的网络世界。


    Top 4. Google 翻译

    在这里插入图片描述

    浏览网页时可轻松查看翻译版本。此扩展程序将按钮添加到浏览器工具栏。每当您要翻译访问的页面时,请单击翻译图标。该扩展程序还会自动检测您所在页面的语言是否不同于您用于Google Chrome界面的语言。如果是这样,则横幅会显示在页面顶部。单击横幅中的翻译按钮,以使页面上的所有文本都以新语言显示。


    Top 5. 达达划词翻译

    在这里插入图片描述

    达达划词翻译插件是一款可以帮助用户翻译很多英语生僻词的的页面翻译chrome插件,如果你经常浏览外文网站,最适合你查询单词


    Top 6. Octotree

    在这里插入图片描述

    树形展示 Github 项目代码,让你能像在GitHub上像你的IDE里一样浏览和搜索代码。

    在这里插入图片描述


    Top 7. One Tab

    在这里插入图片描述

    当您发现自己有太多的标签页时,单击OneTab图标,将所有标签页转换成一个列表。当您需要再次访问这些标签页时,可以单独或全部恢复它们。

    当您的标签页位于OneTab列表时,您将节省高达95%的内存,因为你将减少Google Chrome浏览器中打开的标签页的数量。


    Top 8. 印象笔记·剪藏

    在这里插入图片描述

    使用Evernote扩展程序一键保存精彩网页内容到Evernote帐户。

    ① 一键保存网页,搜集资料快 5 倍
    ② 一键保存网页到印象笔记,即时同步到你的手机和电脑,不用复制粘贴编辑再整理。


    Top 9. Markdown Here

    在这里插入图片描述

    Markdown Here允许你在发送电子邮件之前用Markdown语法编辑并转换它(让它看起来漂亮极了!)。 它特别适合那些要在电子邮件中插入代码的程序员们。还可以利用Markdown Here这款利器,可以轻松搞定公众号文章排版。


    Top 10. Chrome清理大师

    在这里插入图片描述

    一键清理您的浏览器缓存和垃圾,保护您的隐私,并使您的浏览器更快,更高效。


    Top 11. Smallpdf

    在这里插入图片描述

    轻松易用的PDF工具,可用于编辑、转换、合并、拆分和压缩PDF文件。可与Gmail整合。

    ① PDF转换为Word,Excel,PPT
    ② Word,Excel,PPT转到PDF
    ③ 编辑PDF


    Top 12. Enable Copy

    在这里插入图片描述

    遇到限制复制粘贴和右键的网页是不是很头痛?安装这个插件后,点下插件按钮就能解决了

    ① 需要解除限制时,点击Enable Copy图标,此时图标会从浅灰色变为深灰色,当前网页和该网站下的所有网页都被解除限制。
    ② 再次点击图标会变回浅灰色,以后再打开该网站的网页时,将不会被自动解除限制。


    Top 13. Video Downloader professional

    在这里插入图片描述

    是一款可以帮助用户下载当前谷歌浏览器网页中视频文件到本地的谷歌浏览器插件。在下载视频之前,请先播放它们。


    Top 14. Vue.js devtools

    在这里插入图片描述

    Vue.js devtools是基于google chrome浏览器的一款调试vue.js应用的开发者浏览器扩展,可以在浏览器开发者工具下调试代码


    Top 15. JSONView

    在这里插入图片描述

    是一款能在浏览器中完美展示json串的插件,验证和查看JSON文档


    Top 16. FeHelper(前端助手)

    在这里插入图片描述

    包括JSON格式化、二维码生成与解码、信息编解码、代码压缩、美化、页面取色、Markdown与HTML互转、网页滚动截屏、正则表达式、时间转换工具、编码规范检测、页面性能检测、Ajax接口调试、密码生成器、JSON比对工具、网页编码设置、便签笔

    在这里插入图片描述


    Top 17. Save All Resources

    在这里插入图片描述

    一键下载所有资源文件并保留文件夹结构。经常在仿站的时候回遇到下载别人的图片、css、js等资源,发现要一个个的手动下载。直接使用仿站工具有时候觉得比较麻烦而且会打乱目录结构。Save All Resources插件可以一键下载当前网站所有资源。


    Top 18. 扩展管理器(Extension Manager)

    在这里插入图片描述

    一键管理所有扩展,快速开启/禁用、批量闪电管理,智能排序,右键卸载、锁定、选项配置,角标提醒,大小布局随心配。快捷、简单、安全。


    Top 19. FireShot

    在这里插入图片描述

    网页截图插件,可以实现网页滚动截图功能,这是大部分Snipaste等桌面截图软件都不具备的功能,截图之后,我们可以直接导出图片,也可以保存为PDF。


    Top 20. 书签侧边栏

    在这里插入图片描述

    Chrome书签管理功能增强,这款插件可以将书签放置在浏览器的左边或者右边,鼠标轻轻点击,书签就会出现。

    在这里插入图片描述


    如果觉得文章对你有点帮助,请微信搜索「 程序猿编程 」,第一时间阅读!

    搬砖的道路上我们一起努力,用双手敲出我们的未来!

    在这里插入图片描述


    由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!

    展开全文
  •  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。 输出格式  按从小到大的顺序输出满足条件的四位十进制数。 思路:设法得到每数的数值,让第一最后一,第二倒数...

    资源限制
    时间限制:1.0s 内存限制:512.0MB
    问题描述
      1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
    输出格式
      按从小到大的顺序输出满足条件的四位十进制数。
    思路:设法得到每位数的数值,让第一位最后一位,第二位倒数第二位
    代码实现:

    public class Main {
    	public static void main(String[] args) {
    		for(int i = 1000;i<10000;i++) {
    			int sa = i;
    			//得到千位数
    			int a = sa/1000;
    			//除去千位数
    			sa%=1000;
    			//得到百位数
    			int b = sa/100;
    			//除去百位数
    			sa%=100;
    			//得到十位数
    			int c = sa/10;
    			//除去十位数
    			sa%=10;
    			//得到个位数
    			int d = sa;
    			if(a==d&&b==c) {
    				System.out.println(i);
    			}
    		}
    	}
    }
    
    展开全文
  • 【技巧总结】运算装逼指南

    万次阅读 多人点赞 2019-11-18 13:34:09
    算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用运算这些技巧,当然,采用运算,也是...

    位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。

    判断奇偶数

    判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下

    if( n % 2) == 01
        // n 是个奇数
    }
    

    如果把 n 以二进制的形式展示的话,其实我们只需要判断最后一个二进制位是 1 还是 0 就行了,如果是 1 的话,代表是奇数,如果是 0 则代表是偶数,所以采用位运算的方式的话,代码如下:

    if(n & 1 == 1){
        // n 是个奇数。
    }
    

    有人可能会说,我们写成 n % 2 的形式,编译器也会自动帮我们优化成位运算啊,这个确实,有些编译器确实会自动帮我们优化。但是,我们自己能够采用位运算的形式写出来,当然更好了。别人看到你的代码,我靠,牛逼啊。无形中还能装下逼,是不是。当然,时间效率也快很多,不信你去测试测试。

    2、交换两个数

    交换两个数相信很多人天天写过,我也相信你每次都会使用一个额外来变量来辅助交换,例如,我们要交换 x 与 y 值,传统代码如下:

    int tmp = x;
    x = y;
    y = tmp;
    

    这样写有问题吗?没问题,通俗易懂,万一哪天有人要为难你,**不允许你使用额外的辅助变量来完成交换呢?**你还别说,有人面试确实被问过,这个时候,位运算大法就来了。代码如下:

    x = x ^ y   // (1)
    y = x ^ y   // (2)
    x = x ^ y   // (3)
    

    我靠,牛逼!三个都是 x ^ y,就莫名交换成功了。在此我解释下吧,我们知道,两个相同的数异或之后结果会等于 0,即 n ^ n = 0。并且任何数与 0 异或等于它本身,即 n ^ 0 = n。所以,解释如下:

    把(1)中的 x 带入 (2)中的 x,有

    y = x^y = (xy)y = x(yy) = x^0 = x。 x 的值成功赋给了 y。

    对于(3),推导如下:

    x = x^y = (xy)x = (xx)y = 0^y = y。

    这里解释一下,异或运算支持运算的交换律和结合律哦。

    以后你要是别人看不懂你的代码,逼格装高点,就可以在代码里面采用这样的公式来交换两个变量的值了,被打了不要找我。

    讲这个呢,是想告诉你位运算的强大,让你以后能够更多着去利用位运算去解决一些问题,一时之间学不会也没事,看多了就学会了,不信?继续往下看,下面的这几道题,也是非常常见的,可能你之前也都做过。

    3、找出没有重复的数

    给你一组整型数据,这些数据中,其中有一个数只出现了一次,其他的数都出现了两次,让你来找出一个数 。

    这道题可能很多人会用一个哈希表来存储,每次存储的时候,记录 某个数出现的次数,最后再遍历哈希表,看看哪个数只出现了一次。这种方法的时间复杂度为 O(n),空间复杂度也为 O(n)了。

    然而我想告诉你的是,采用位运算来做,绝对高逼格!

    我们刚才说过,两个相同的数异或的结果是 0,一个数和 0 异或的结果是它本身,所以我们把这一组整型全部异或一下,例如这组数据是:1, 2, 3, 4, 5, 1, 2, 3, 4。其中 5 只出现了一次,其他都出现了两次,把他们全部异或一下,结果如下:

    由于异或支持交换律和结合律,所以:

    123451234 = (11)(22)(33)(44)5= 00005 = 5。

    也就是说,那些出现了两次的数异或之后会变成0,那个出现一次的数,和 0 异或之后就等于它本身。就问这个解法牛不牛逼?所以代码如下

    int find(int[] arr){
        int tmp = arr[0];
        for(int i = 1;i < arr.length; i++){
            tmp = tmp ^ arr[i];
        }
        return tmp;
    }
    

    时间复杂度为 O(n),空间复杂度为 O(1),而且看起来很牛逼。

    4、m的n次方

    如果让你求解 m 的 n 次方,并且不能使用系统自带的 pow 函数,你会怎么做呢?这还不简单,连续让 n 个 m 相乘就行了,代码如下:

    int pow(int n){
        int tmp = 1;
        for(int i = 1; i <= n; i++) {
            tmp = tmp * m;
        }
        return tmp;
    }
    

    不过你要是这样做的话,我只能呵呵,时间复杂度为 O(n) 了,怕是小学生都会!如果让你用位运算来做,你会怎么做呢?

    我举个例子吧,例如 n = 13,则 n 的二进制表示为 1101, 那么 m 的 13 次方可以拆解为:

    m^1101 = m^0001 * m^0100 * m^1000。

    我们可以通过 & 1和 >>1 来逐位读取 1101,为1时将该位代表的乘数累乘到最终结果。直接看代码吧,反而容易理解:

    int pow(int n){
        int sum = 1;
        int tmp = m;
        while(n != 0){
            if(n & 1 == 1){
                sum *= tmp;
            }
            tmp *= tmp;
            n = n >> 1;
        }
        
        return sum;
    }
    

    时间复杂度近为 O(logn),而且看起来很牛逼。

    这里说一下,位运算很多情况下都是很二进制扯上关系的,所以我们要判断是否是否位运算,很多情况下都会把他们拆分成二进制,然后观察特性,或者就是利用与,或,异或的特性来观察,总之,我觉得多看一些例子,加上自己多动手,就比较容易上手了。所以呢,继续往下看,注意,先别看答案,先看看自己会不会做。

    5、找出不大于N的最大的2的幂指数

    传统的做法就是让 1 不断着乘以 2,代码如下:

    int findN(int N){
        int sum = 1;
       while(true){
            if(sum * 2 > N){
                return sum;
            }
            sum = sum * 2;
       }
    }
    

    这样做的话,时间复杂度是 O(logn),那如果改成位运算,该怎么做呢?我刚才说了,如果要弄成位运算的方式,很多时候我们把某个数拆成二进制,然后看看有哪些发现。这里我举个例子吧。

    例如 N = 19,那么转换成二进制就是 00010011(这里为了方便,我采用8位的二进制来表示)。那么我们要找的数就是,把二进制中最左边的 1 保留,后面的 1 全部变为 0。即我们的目标数是 00010000。那么如何获得这个数呢?相应解法如下:

    1、找到最左边的 1,然后把它右边的所有 0 变成 1

    2、把得到的数值加 1,可以得到 00100000即 00011111 + 1 = 00100000。

    3、把 得到的 00100000 向右移动一位,即可得到 00010000,即 00100000 >> 1 = 00010000。

    那么问题来了,第一步中把最左边 1 中后面的 0 转化为 1 该怎么弄呢?我先给出代码再解释吧。下面这段代码就可以把最左边 1 中后面的 0 全部转化为 1,

    n |= n >> 1;
    n |= n >> 2;
    n |= n >> 4;
    

    就是通过把 n 右移并且做运算即可得到。我解释下吧,我们假设最左边的 1 处于二进制位中的第 k 位(从左往右数),那么把 n 右移一位之后,那么得到的结果中第 k+1 位也必定为 1,然后把 n 与右移后的结果做或运算,那么得到的结果中第 k 和 第 k + 1 位必定是 1;同样的道理,再次把 n 右移两位,那么得到的结果中第 k+2和第 k+3 位必定是 1,然后再次做或运算,那么就能得到第 k, k+1, k+2, k+3 都是 1,如此往复下去…

    最终的代码如下

    int findN(int n){
        n |= n >> 1;
        n |= n >> 2;
        n |= n >> 4;
        n |= n >> 8 // 整型一般是 32 位,上面我是假设 8 位。
        return (n + 1) >> 1;
    }
    

    这种做法的时间复杂度近似 O(1),重点是,高逼格。

    总结

    上面讲了 5 道题,本来想写十道的,发现五道就已经写了好久了,,,,十道的话,怕你们也没耐心写完,而且一道比一道难的那种,,,,。

    不过呢,我给出的这些例子中,并不是让你们学会了这些题就 Ok,而且让你们有一个意识:很多时候,位运算是个不错的选择,至少时间效率会快很多,而且高逼格,装逼必备。所以呢,以后可以多尝试去使用位运算哦,以后我会再给大家找些题来讲讲,遇到高逼格的,感觉很不错的,就会拿来供大家学习了。

    兄dei,如果觉得我写的不错,不妨帮个忙

    1、关注我的原创微信公众号「帅地玩编程」,每天准时推送干货技术文章,专注于写算法 + 计算机基础知识(计算机网络+ 操作系统+数据库+Linux),听说关注了的不优秀也会变得优秀哦。

    2、给俺点个赞呗,可以让更多的人看到这篇文章,顺便激励下我,嘻嘻。

    在这里插入图片描述

    作者简洁

    作者:大家好,我是帅地,从大学、自学一路走来,深知算法计算机基础知识的重要性,所以申请了一个微星公众号『帅地玩编程』,专业于写这些底层知识,提升我们的内功,帅地期待你的关注,和我一起学习。 转载说明:未获得授权,禁止转载

    展开全文
  • 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。 输出格式 按从小到大的顺序输出满足条件的四位十进制数。 public class Main { public static void main(String[] args) {...
  • 回文数问题,4位数常规的做法是从1000到9999做for循环,对每一个数的每一进行判断,这里换了个思路,直接把符合要求的输出,而且是从小到大的顺序,代码量较少 #include<stdio.h> int main() { int a[4]; ...
  • 解题报告 (四) 数DP

    千次阅读 2021-04-24 05:56:56
    DP解题报告
  • uint crcint = ?;//随便填个uint型数据 ...//通过该行代码将crcint变量转换成4大字输出16进制的,如果不足在数字左边补‘0’ 补充: 补全字符串,不足位数自动在数字左边补‘0’ QString myHelpe...
  • 首先明确,7有效是整数部分和小数部分位数的和。例如: float a=61.420001f。打印输出a=61.420002(62.420001机器无法表示,会自动向最近的能表示的数舍入成61.420001)  (整数部分2+小数部分6=8&gt...
  •  输入一个正整数n, 编程求所有这样的五和六位十进制数,满足各位数字之和等于n 。   输入格式  输入一行,包含一个正整数n。   输出格式  按从小到大的顺序输出满足条件的整数,每个整数占一行。   样例...
  • import java.util.Scanner; public class TeShuHuiWenShu2 { public static void main(String[] args) { // TODO Auto-generated method ... // 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 // ...
  • 输入一个正整数n, 编程求所有这样的五和六位十进制数,满足各位数字之和等于n 。 输入格式 输入一行,包含一个正整数n。 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例输入 52 样例输出 ...
  •  输入一个正整数n, 编程求所有这样的五和六位十进制数,满足各位数字之和等于n 。   输入格式    输入一行,包含一个正整数n。   输出格式    按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例...
  • 各位看官们,大家好,上一回中咱们说的是输出十六进制的例子,这一回咱们说的例子是:操作。闲话 休提,言归正转。让我们一起talk C栗子吧! 看官们,操作有五种,与、或、非、异或、移位。接下来咱们...
  • C语言入门(二三)操作

    千次阅读 2016-07-12 17:18:28
    操作  前言: 在第一节概述里就说了,C语言是一种中级语言,能对计算机硬件直接操作,这就涉及到位的概念。 一、的概念 我们知道,在计算机中,一字节占8(现在的某些电脑也有占16的),这样表示的...
  • IP地址最后一斜杠是什么意思?比如192.168.1.10/27?还有IP地址和子网掩码相加得到的网络地址是什么意思 这是vlsm(可变长子网掩码)。c类地址192.168.1.10/255.255.255.0,斜杠后面是子网掩码。可以表示为192.168....
  • 本篇讨论的现象可以从下面这段脚本体现出来: >>> x = 0.0 >>> for i in range(10): x += 0.1 print(x) 0.1 0.2 0.30000000000000004 0.4 0.5 0.6 0.7 0.7999999999999999 ...即:为什么有几行的输
  • c语言运算有什么作用

    千次阅读 2017-08-26 10:09:53
    运算符 运算符作用于,并逐执行操作。&、 | 和 ^ 的真值表如下所示: p q p & q p | q p ^ q 0 0 0 0 0 0 1 0 1 1 1 1 1 1...
  • 因实验需要,读取陀螺仪的数据是16进制的数据,需要将该数据转化为10进制方便自己查看,理解。记录如下: 1.将(32)16进制IEEE-...符号指数尾数 1823 举例:(1)IEEE-754标准浮点数表示为 404FC5...
  • 运算

    2013-09-18 09:42:50
    比如进制的2转化为二进制之后就是10。在程序员的圈子里有一个流传了很久的笑话,说世界上有10种人,一种人知道二进制,而另一种人不知道二进制。。。。。。  其实二进制的运算并不是很难掌握,因为运算总共...
  • //清除左边多余 int d = c & 0x7FFF; printf("d=%d\n", d); //加1 d = d + 1; //符号 int e = d * -1; printf("e=%d\n", e); return 0; } 结果: a=64871 b=32103 c=-32104 d=664 e=-665 ...
  • C++ 算法篇 运算

    千次阅读 多人点赞 2018-11-26 15:34:01
    由于运算直接对内存数据进行操作,不需要转换成进制,因此处理速度非常快,在信息学竞赛中往往可以优化理论时间复杂度的系数。同时,一个整数的各个二进制互不影响,利用运算的一些技巧可以帮...
  • 原码、反码、补码、运算

    千次阅读 2020-04-27 20:18:57
    原码:以整数 5 为例,将进制 5 转换成二进制 可得: 其中需要将 2 进制中的第 1 来表示符号,0代表正,1代表负。所以 -5 可用: 反码:正数的反码和原码一样,负数的反码就是在原码的基础上符号保持不变,...
  • 要理解操作符,首先要理解 数字如何转换为供计算机使用的二进制数 进制或者其他进制的数字,在...数字转换为二进制数时,使用最高,也就是最左边那一,代表符号,0 代表正数,1 代表负数。使用8二进制数,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 105,475
精华内容 42,190
关键字:

十位左边是什么位