二进制中 1 的个数 题目描述 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 题目链接: 二进制中 1 的个数 代码 /** * 标题:二进制中 1 的个数 * 题目描述 * 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 * 题目链接: * https:
多校冲刺 noip 10.30 好像我在学校里已经待了30天了吧 几乎是仅次于暑假集训的时间,不过丝毫不慌 因为,咱的成绩在一点点的上升,做题越来越有思路 也不知道是题简单了,还是我的能力提升了,嘿嘿嘿 但是今天考场上又挂分了,处理方式就是多检查,要考虑全所有情况 考场上不能飘起来,要不然所有
变态跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 题目链接: 变态跳台阶 代码 /** * 标题:变态跳台阶 * 题目描述 * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙
跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果) 题目链接: 跳台阶 代码 public class Jz08 { /** * 迭代法 * * @param target * @return */ public s
从尾到头打印链表 题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 题目链接: 从尾到头打印链表 代码 import java.util.ArrayList; /** * 标题: * 题目描述 * * <p> * 题目链接 * */ public class Jz03 { /** * 非递归 * * @param
替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 题目链接: 替换空格 代码 public class Jz02 { public static void main(String[] args) { StringBuffer strTe
目录 题目算法思路方法一-迭代方法二-递归参考 题目 算法思路 所谓的 【最近公共祖先】,也就是说 r o o t root
目录 题目方法一-层序遍历+双端队列算法思路具体代码复杂度分析 方法二-奇偶层逻辑分离算法思路具体代码复杂度分析 方法三-层序遍历+倒序算法思路具体代码复杂度分析 题目 在【JZ-32-II】的基础上,要求打印每一层的方向交替变化,即,奇数层正序打印,偶数层倒序打印。 参考
目录 题目算法思路方法一具体代码复杂度分析 方法二具体代码复杂度分析 题目 算法思路 要使 m i n ( )
背包问题1:【SSL】1059.01背包问题 题目: 一个旅行者有一个最多能用m公斤的背包,现在有n件物品,它们的重量分别是W1,W2,…,Wn,它们的价值分别为C1,C2,…,Cn.若每种物品只有一件求旅行者能获得最大总价值。 输入 第1行:两个整数,M(背包容量,M<=200)和N(物品数量,N<=30); 第2至N+1行:每行
题目 方法一-动态规划 参考 思路: 假设主串 s s s 长度为 n n n,模式串
题目 方法一-二分法 设数组最后一个元素为 x ,在最小元素右侧的元素,它们的值一定都小于等于 x ;在最小元素左侧的元素,它们的值一定都大于等于 x 。 在二分查找每一步中,设左边界为 l o w
目录JZ5 用两个栈实现队列题目描述思路:一个栈进,一个栈出,即实现了队列代码JZ6 旋转数组的最小题目描述思路1:直接遍历,效率很低,但是代码能过代码思路2:二分的思想代码JZ 7 斐波那契数列题目描述思路1:直接递归,但是有大量重复计算,时间和空间复杂度都比较高思路2:将计算过的斐波那契的值
矩阵按键控制数码管显示 矩阵按键和独立按键很不一样,独立按键一段直接与I/O口连接,因此原本为高电平,另一端接地,因此只要检测I/O口是否为低电平就可以检测按键是否被按下。 但是矩阵按键两端同时连接I/O口,因此检测较为复杂。 原理如下: 图中S16按键同时连接P10和P14,因此检测的
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 示例1 输入 复制 {8,8,#,9,#,2,#,5},{8,9,#,2} 返回值 复制 true 思路: 判断树的结构,很明显需要递归。 若p2是p1的子树,则应该同时满足以下条件: 1.p2->left是p1->left的子树
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路: 1.最容易想到的思路就是 额外开辟空间 分别存放奇数和偶数,最后再更改array中的数据。这
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 比较简单,stack1用来存放每次push进来的数据 栈是先进后出的数据结构,而队列是先进先出的数据结构 在用栈模拟队列的pop时,将stack1弹出的元素暂时存放在stack2中 在stack1弹出最早压入
多重背包 有 n种物品 一共有 m大小的背包,每种物品的价值 大小 个数 为 s[i],v[i],num[i]; #include<bits/stdc++.h>//cmhao #define N 100000 using namespace std; int a[N]; int n,m,cut; int s[N],v[N]; void change(int tj,int jz,int sl) { int q=1,x,y; while(sl)
Delphi SameText 对比两个字符串是否相等(不区分大小写) 单元:SysUtils 函数原型: function SameText(const S1, S2: string): Boolean; assembler; asm CMP EAX,EDX JZ @1 OR EAX,EAX JZ @2 OR EDX,EDX JZ
tokenCook: (name, value, time) => { // 设置cookie var exp = new Date() exp.setTime(exp.getTime() + time * 60 * 24 * 60 * 1000) // 这里的time就是天数 escape()编码 document.cookie = name + '=' + escape(value) + ';expires=' + exp.toGMTStrin
首先,斐波拉契数列最简单的做法就是利用递推公式。这里就不写代码了。 但是递推计算还是太慢了,项数一大就算不了,比如10的5次方以上就算不出来了。 然后我们就想出了矩阵加速。
1、转置矩阵的实现方法: #矩阵的转置 jz=[[1,2,3],[4,5,6],[7,8,9]] print(jz) for i,row in enumerate(jz): for j,col in enumerate(row): if i<j: jz[i][j],jz[j][i]=jz[j][i],jz[i][j] print(jz) #enumerate的用法: 语法:enumerate(sequence, [start
最近问题挺大的,别人都能A掉的题,我要么细节被卡,要么想不到正解,稍难受 T1: 一眼看上去像前缀和,然后日常想亦或怎么拆(当然是拆不了了,不满足结合律什么的),然后想到了差分,不过是O(n*q)的每行差分 正解是差分来维护差分, 在(r,c)处+1,(r+l,c+l)-1 那么在最后时,jz[i][j]+=jz[i-1][j-1]就
目录 例题1:模拟赛题 代码: 例题2 例题3:带修改树上最大独立集。 注:部分参考 https://www.luogu.org/blog/gkxx-is-here/what-the-hell-is-ddp 动态DP,就是一个十分简单的DP加了一个修改操作。 先看些例题: 例题1:模拟赛题 【问题描述】 某高校教学楼有 n 层,每一层有 2 个门,每
input:gcdxor.in output:gcdxor.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 题目描述 SarvaTathagata是个神仙,一天他在研究数论时,书上有这么一个问题:求不超过n两两的数的gcd。SarvaTathagata这么神仙的人当然觉得这个是sb题啦。学习之余,他还发现