• 2024-09-28动手动脑
    一.仔细阅读示例:EnumTest.java,运行它,分析运行结果?第一个判断s和t是否引用了同一对象,由于s和t不是同一对象,所以是flase第二个判断s是否为基本数据类型,由于s是枚举类型,所以是flase第三个将字符串“SMALL”转化成为枚举类型,与s一样,所以是true最后遍历输出二.你能得到什么结论?你
  • 2024-09-21Acwing题解系列——841. 字符串哈希
    #include<iostream>usingnamespacestd;constintN=100010;constintP=131;/*题解https://www.acwing.com/solution/content/24738/可以 把字符串变成一个p进制数字(哈希值),实现不同的字符串映射到不同的数字。采用字符的ascii码乘上P的次方来计算哈希值。X1X2X
  • 2024-09-02Python中手动实现进制转换
    在《Python中进制转换》中提到可以使用bin()、oct()、int()和hex()等函数编程实现数字间的进制转换。除了编程实现进制转换外,还可以通过手动实现。1手动实现二进制数转换为十进制可以通过“填空法”手动将二进制数转换为十进制数,例如将二进制数“0b1101”转换为十进制数的方
  • 2024-08-30HashMap 的长度为什么是2的幂次方?
    一、均匀分布哈希值当HashMap的长度是2的幂次方时,通过hashCode()计算出哈希值后,再与(length-1)进行与操作(例如index=hashCode()&(table.length-1)),可以使得哈希值更加均匀地分布在数组的下标范围内。假设哈希值是均匀分布的,那么与操作可以充分利用哈希值的各个位,
  • 2024-08-03c++__位运算符:位与运算符&
    目的:了解位与运算符并加深对它的运用定义:一种二元运算符,符号为&,运用于二进制数中,特性为有0为0。#include<iostream>usingnamespacestd;intmain(){inta=0b1010;//10intb=0b0110;//6//a&b=0b0010;2cout<<(a&b)<<endl;}应用:1、判断奇偶性
  • 2024-07-28CodeForces 1883E Look Back
    题目链接:CodeForces1883E【LookBack】思路    若直接对每个元素进行操作累乘至大于相邻的前一个元素时,可能最后会数据溢出,而且乘的2个数可能会很多,会时间超限。所以可以对每两个相邻的元素进行判断,判断他们之间差了2的多少次方。cnt记录的是当前元素和上个元素之间差
  • 2024-07-184.java-常量与变量
    6.3常量与变量常量 概念:表示不能变化的数值 java中常量的分类 1.整数常量,所有整数 2.小数常量,所有小数 3.布尔特常量。较为特有,只有两个数值,true、false 4.字符常量,将一个数字字母或者符号用单引号('')标识。 5.字符串常量,将一个或者多个字符用双引号("")标识。 6.n
  • 2024-07-13【算法】求 x 的 n 次方
    1.概述题目链接牛客网题目描述给定一个double类型的浮点数x和int类型的整数n,求x的n次方。1.1解题思路最直观的解法是将x重复乘n次,x\*x\*x...\*x,那么时间复杂度为O(N)。因为乘法是可交换的,所以可以将上述操作拆开成两半(x\*x..\*x)\*(x\*x..\*x),两
  • 2024-07-062的次方表
    2的次方表(1~64次方)2的1次方:22的2次方:42的3次方:82的4次方:162的5次方:322的6次方:642的7次方:1282的8次方:2562的9次方:5122的10次方:10242的11次方:20482的12次方:40962的13次方:81922的14次方:163842的15次方:327682的16次方:655362的17次方:1310722的18次方:2621442的19次方:5242882的20次方:1048
  • 2024-07-03C#面:现有一个整数number,请写一个方法判断这个整数是否是2的N次方
    要判断一个整数是否是2的N次方,可以使用位运算来实现。一个整数如果是2的N次方,那么它的二进制表示中只有一位是1,其余位都是0。可以通过将这个整数与它减去1的结果进行按位与运算,如果结果为0,则说明这个整数是2的N次方。以下是一个示例代码:publicboolIsPowerOfTwo(intnumber)
  • 2024-06-20【数学&代码】幂
    Hello!大家好,我是@学霸小羊,今天来讲讲幂。求几个相同因数的积的运算,叫做乘方,乘方的结果叫做幂。a^n,读作“a的n次方”或“a的n次方幂”,a叫做底数,n叫做指数。对于底数、指数和幂,有这么一个联系:当底数是正数时,幂也是正数。当底数是负数时,幂的正负由指数来决定,指数是偶
  • 2024-05-29C语言----递归--n的k次方
    intpower(intn,intk){if(k==0){return1;//任何数的0次方都是1}elseif(k>0){returnn*power(n,k-1);//当k为正数时,n的k次方//等于n乘以n的(k-1)次方}
  • 2024-05-26C语言----判断n是否是2的次方数,利用到按位与&,算法n&(n-1)
    //写一个代码,判断n是否是2的次方数//if(n&(n-1))==0/*2的0次方是1---二进制12的1次方是2---二进制102的2次方是4---二进制1002的一次方-1是1---二进制是12的二次方-1是3---二进制是112的三次方-1是7---二进制是111n与n-1按位与后&是0就是0,两个1才是1所以if(n&(n-1
  • 2024-05-26页表的再学习
    页表的再学习背景昨天研究了一下不使用大页内存可能会导致宕机的场景但是一些数据自己还是没有太弄明白所以早上在小区走路的时候又看了下页表和页的关系感觉多少理解了一些.所以想着在尝试总结一下.关于页的来源现代操作系统基本上都是段页式的内存管理段主要是区
  • 2024-05-20CSP历年复赛题-P1010 [NOIP1998 普及组] 幂次方
    原题链接:https://www.luogu.com.cn/problem/P1010题意解读:输出一个正整数的2的幂次方表示,需要用到二进制数学知识,将整数拆解成2的次幂之和,幂次方也要进行拆解,因此容易想到通过递归处理。解题思路:先看样例,给定整数137,要拆解成2的幂次方之和,先考虑i使得刚好137>=2^i时,i取7,因此2
  • 2024-05-04软考备考1
    考试形式考45分就行上午-计算机与软件工程知识-150分钟,笔试,选择题-75分还有5分时专业英语,,一篇文章挖5个空下午-软件设计-150分钟-笔试-简答题-75分三个复习阶段考点理论学习——建立理论框架题型全覆盖——考试全部题型了然于胸真题强化训练——适应考试,提高分数
  • 2024-05-04P1010 [NOIP1998 普及组] 幂次方
    题目:P1010[NOIP1998普及组]幂次方[NOIP1998普及组]幂次方题目描述任何一个正整数都可以用2的幂次方表示。例如137=27+23+2^0。同时约定次方用括号来表示,即a^b可表示为a(b)。由此可知,137可表示为2(7)+2(3)+2(0)进一步:$7=22+2+20(2^1用2表示),并且3=2+2^
  • 2024-04-27二的幂次方判断——使用位运算-来源于lowbit操作
     解法:位运算的使用这里需要就是了解位运算的使用了lowbit函数x&-x这种算法其实是利用了计算机的补码性质。计算机为了表示负数,将对应的正数二进制全部取反再加一。lowbit是为了获取一个数的二进制中最低位的1对应的值,比如lowbit(10(10))=10(2),因为10的二进制表达是1010。
  • 2024-04-07数据的表示与运算1
    2.1数值与编码2.1.1进位计数制及其互相转换[注意!!] 2018考察二进制编码的原因:计算机只有两种状态,0和1可以被稳定并简单的表达。成本低1和0正好对应逻辑上的真和假,为逻辑判断提供便利条件二进制的编码和运算规则简单,可以利用逻辑门电路方便实现[总结] 利用二进制
  • 2024-03-23HashMap的数组最大容量为什么要设计为2的30次方?而不是2的31次方-1?数组容量为什么一定要设计为2的幂?
    目录问题 数组容量为什么一定要设计为2的幂(2的n次方)?1、首先要清楚HashMap的底层基本原理2、再来看下怎么通过hash值决定存放在哪个桶中?首先看下hash值再看下怎么确定当前key存放在哪个数组下标下的为什么要做按位与而不用模运算符%?为什么要n-1呢?n是一个什么样的数
  • 2024-03-21C语言之求任意次方的最后三位
    目录一简介二代码实现三时空复杂度一简介在C语言中,求一个整数任意次方的最后三位数可以使用快速幂算法结合取模运算来实现。二代码实现#include<stdio.h>//使用快速幂算法计算x的y次方对1000取模的结果intlastThreeDigits(intx,inty){int
  • 2024-03-20软考备考复习笔记day2(校验码crc和海明码检错纠错)
    奇偶校验奇偶校验(ParityCodes)是通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验)。但该编码只能检错,但不能纠错。奇偶校验:码距为2。码距越大越容易纠错和检错仅检测出代码中奇数位数(奇数个0或1发生错误),不能发现偶数位数出错。奇数+偶数=奇数
  • 2024-03-14进制介绍及进制之间的转换
    进制介绍对于整数,有四种表示方式:二进制:0,1,满2进一。以0b或者0B开头。十进制:0-9,满10进一。八进制:0-7,满8进一。以数字0开头。十六进制:0-9及A(10)-F(15),满16进一。以0x或者0X开头表示,此处的A-F不区分大小写。进制之间的转换二进制转十进制方法:从最低位(右边)开始,将每个位上的数
  • 2024-02-21洛谷题单指南-递推与递归-P1010 [NOIP1998 普及组] 幂次方
    原题链接:https://www.luogu.com.cn/problem/P1010题意解读:输出一个正整数的2的幂次方表示,需要用到二进制数学知识,将整数拆解成2的次幂之和,幂次方也要进行拆解,因此容易想到通过递归处理。解题思路:先看样例,给定整数137,要拆解成2的幂次方之和,先考虑i使得刚好137>=2^i时,i取7,因此2
  • 2024-02-20[学习笔记]哈希与哈希表
    1.定义我们定义一个把字符串映射到整数的函数\(f\),这个\(f\)称为是Hash函数。我们希望这个函数\(f\)可以方便地帮我们判断两个字符串是否相等。词汇“映射”映射意为将一个集合中的任意元素和另一个集合中的元素一一对应。(请大佬指正)2.思想Hash的核心思想在于,将输入