目录
1 问题描述
2 解决方案
2.1 一头一尾指针往中间扫描法
2.2 一前一后两个指针同时往后扫描法
1 问题描述
给定一个整数数组,请调整 数组中数的顺序,使得所有奇数位于数组的前半部分,所有偶
题目描述:
解题思路:
借用网上大神的思想:the basic idea is, keep a hashmap which stores the characters in string as keys and their positions as values, and keep two
目录
1 问题描述
2 解决方案
2.1 动态规划法
1 问题描述
现需找零金额为n,则最少需要用多少面值为d1 < d2 < d3 < ... < dm的硬币?(PS:假设这m种面值d1
题目描述:
解决思路:
此题较简单,和前面【LeetCode67】方法一样。
Java代码:
1 public class LeetCode415 {
2 public static void main(String[] args) {
3 String a="
链接
推一下就是(sum_{k=1}^{n}lfloorfrac{n}{k}rfloor^2sum_{d|k}phi(d)mu(frac{k}{d}))(sum_{d|k}phi(d)mu(frac{k}{d}))线性筛一下就好
# include <bits/stdc++.h>
# d
简单般Bzoj2154: Crash的数字表格
Sol
增加了数据组数T<=10000
推到(ans=sum_{d=1}^{N}d*sum_{i=1}^{lfloorfrac{N}{d}rfloor}mu(i)*i^2*frac{(lfloorfrac{N}{d*i}rfloor + 1) *
题面
戳我
Sol
(ans=sum_{d=1}^{N}d^k*sum_{i=1}^{lfloorfrac{N}{d}rfloor}mu(i)*lfloorfrac{N}{d*i}rfloor*lfloorfrac{M}{d*i}rfloor)(将d*i换成S)(原式=sum_{S=1}^{N}(l
类和模板小结
标签(空格分隔): C++
类
使用struct和class写类的区别:
使用struct关键字,默认的访问权限是public,而使用class的默认访问权限是private,两者唯一的区别就是默认的访问权限的不同
private和protect:
private成员变量或函数在类的外
分析
难度 易
来源
https://leetcode.com/problems/plus-one/description/
题目
Given a non-empty array of digits representing a non-negative integer, plus one to t
这是悦乐书的第145次更新,第147篇原创
今天这道题和罗马数字有关,罗马数字也是可以表示整数的,如“I”表示数字1,“IV”表示数字4,下面这道题目就和罗马数字有关,你能猜到吗?
01 看题和准备
今天介绍的是LeetCode算法题中Easy级别的第4题(顺位题号是17),给定一组罗马数字组成的字
分析
难度 易
来源
https://leetcode.com/problems/length-of-last-word/description/
题目
Given a string s consists of upper/lower-case alphabets and empty space c
几种常用的数据结构
集合
表
栈
队列
堆
树
图
常用的算法
这是悦乐书的第144次更新,第146篇原创
今天这道题和回文有关,即从前往后和从后往前是一样的,如“上海自来水来自海上”就是一个回文字符串,如整数121就是回文数,这些都是和回文相关的。
01 看题和准备
今天介绍的是LeetCode算法题中Easy级别的第3题(顺位题号是9),给定一个整数,判断其
分析
难度 易
来源
https://leetcode.com/problems/count-and-say/description/
题目
The count-and-say sequence is the sequence of integers with the first five term
算法是为求解一个问题所需要遵循的、被清楚地指定的简单指令的集合。对于一个问题,一旦给定某种算法并且确定其实正确的,那么重要的一步就是确定该算法将需要多少诸如时间或空间等资源量的问题,这就是时间复杂度和空间复杂度存在的意义。常用时间复杂度和空间复杂度来衡量不同算法的优劣。
一、从数学的角度理解 O
这是悦乐书的第143次更新,第145篇原创
01 看题和准备
今天介绍的是LeetCode算法题中Easy级别的第2题(顺位题号是7),给定32位有符号整数,然后将其反转输出。例如:
输入: 123
输出: 321
输入: -123
输出: -321
输入: 120
输出: 21
给定反
分析
难度 易
来源
https://leetcode.com/problems/search-insert-position/description/
题目
Given a sorted array and a target value, return the index if the targe
为什么插入排序要优于冒泡?
插入排序在于向已排序序列中插入新元素,主要的动作是移动元素,涉及1次赋值,即data[j] = data[j-1];
而冒泡排序在于相邻元素交换位置,涉及3条赋值,即iTmp = data[j+1];data[j+1] = data[j];data[j] = iT
应用场景:
对于现在的计算机来说,同时可以运行多个程序,加上操作系统里面一大堆的进程,操作系统经常会处理各个进程的排序,从而有条不紊运行各种程序。
在这种情况下,需要一种数据结构且需要以下的功能:删除最大元素和插入元素,这种类型叫做优先队列。
提供的方法:
常用的排序算法之中的exch(
算法描述
在给定的n位数字,删除其中的k位数字( k < n),使得最后的n-k为数字为最大值(原次序不变)
算法思路
考虑到是要移出数字,我们使用链表设计此算法较为方便,链表可以直接移出某个位置的元素
使用贪心算法,每一步都要达到最优
从最高位开始,若是下一位比上一位大,则比上一位的数字