数字十进制位,四则运算编程技巧及力扣题目总结
写在前面
最近力扣周赛出了很多关于数字位数的题, 顾名思义, 就是对一个大整数的每一个十进制位进行操作, 由于之前对这方面的内容不太熟悉, 真正写的时候就吃亏了. 下面写一下这方面的常用的一些技巧, 例如取出任意整数的每一位等等.
取出整数的每一位
通过对10取余或者整除, 可以从个位到最高位依次得到每一个位的值, 如下:
n = 12345
ans = []
while n:
ans.append(n % 10)
n //= 10
print(ans)
# [5, 4, 3, 2, 1]
上面的是数学方法, 速度比较快, 下面是一个基于字符串的方法, 虽然慢但是直观(我初刷lc时候钟爱这种方法)
n = 12345
s = str(n)
ans = [i...
位运算常用技巧与力扣题型总结
写在前面
最近刷LeetCode, 发现很多双百题解中用到的都是位运算技巧, 下面来总结一下位运算的常用技巧. 一开始参考了知乎的一篇回答, 里面推荐一本书叫做算法心得, 英文原版为Hackers Delight, 听这个名字就知道是一些hack技巧, 有机会一定要研读一下. 下面的代码用C++给出.
可能出现的一些数字:
48: ‘0’
65: ‘A’
97: ‘a’
预备知识
首先给出一些预备知识, 包括如何进制转换等.
任意进制到十进制
// 直观的想法
int x2dec_v1(string x, int k) {
int ans{}, n = x.size();
for (int i{}; i <...
双指针,滑动窗口力扣题目汇总
可能用到的STL算法一览
前缀和计算: partial_sum
使用方法:
std::partial_sum - cppreference.com;
#include <numeric>
#include <vector>
#include <iostream>
#include <iterator>
#include <functional>
void t1() {
std::vector<int> v = {2, 2, 2, 2, 2,
2, 2, 2, 2, 2}; // 或 std::vector<int>v(10, 2...
力扣中的经典模拟题
写在前面
\[\mathbb Z\\
\mathbb N
+\dots+,\dots,\]
日期计算
日期替换
2437. 有效时间的数目;
class Solution {
public:
int countTime(string time) {
if (time.find('?') == string::npos) return 1;
auto h1 = time[0], h2 = time[1];
auto m1 = time[3], m2 = time[4];
int ans1{}, ans2{};
// hour:
if (h1 == '?') {
...
高级数据结构设计力扣题目总结
写在前面
下面的这些数据结构都用到了链表, 可见链表在数据库/缓存等底层构件中的重要作用.
跳表: 数组+链表节点
1206. 设计跳表 - 力扣(LeetCode);(高级数据结构, 数据库常用)
需要设计多级结构以便降低查找的时间复杂度, 相当于在一般链表中采用了二分查找的思想, 空间换时间.
class Skiplist {
static constexpr int level = 8;
struct Node {
int val;
vector<Node*> next;
Node(int _v) : val(_v) {
next.resize(level, nullpt...
C++并发编程实战笔记(一)线程概念与基本控制
写在前面
在C++ 中实现多线程还是很容易的, 不像C的pthreads接口, 下面来总结一下C++多线程的一些基本操作, 包括线程的创建, 合并, 分离, 获取ID等操作, 主要参考了C++并发编程实战(第二版)的第一二章, 这本书应该是C++并发必看的经典了.
另外参考:
std::thread;
一些有用的程序
用于辅助
#include <iostream>
#include <cassert> // 断言
#include <chrono> // 计时
#include <thread> // 线程
using namespace std;
using namespace std::chrono; ...
C++内存模型与程序运行分区
写在前面
作用域
生命周期
内存区域
全局内存
整个文件
应用程序的生命周期
全局区
静态内存
声明它的函数内部
应用程序的生命周期
全局区
自动内存(局部内存)
声明它的函数内部
限制在函数执行时间内
栈区
动态内存
由引用该内存的指针决定
直到内存释放
堆区
内存模型与虚函数
虚表
共计 465 篇文章,59 页。
您是Zorch的第 个小伙伴
Hits