LCR006-LCR009双指针问题 剑指offer(专项突破版)2.2 双指针题目链接:LCR006-排序数组中的两个数字之和 分析:用两个指针P1和P2分别指向数组中的两个数字。指针P1初始化指向数组的第1个(下标为0)数字,指针P2初始化指向数组的最后一个数字。如果指针P1和P2指向的两个数字之和等于输入的k,那么就找到了符合条件的两个数字。如果指针P1和P2指向的两个数字之和小于k,那么我们希望两个数字的和再大一点。由于数组已 2024-03-09 算法笔记 > 数组 #剑指Offer
LCR005.最大单词长度乘积 剑指offer(专项突破版)1.2 二进制题目链接:LCR005-最大单词长度乘积方法1:用哈希表记录字符串中出现的字符分析:蛮力。对每一个字符串,存储一个记录每个字符的哈希表;对每个字符串对,比较其哈希表。 123456789101112131415161718192021222324252627282930313233343536class Solution {public: 2024-03-07 算法笔记 > 整数 #剑指Offer
LCR004.只出现一次的数字 剑指offer(专项突破版)1.2 二进制题目链接:LCR004-只出现一次的数字方法1分析:直接的想法是定义一个map,统计其次数。这里使用unordered_map。 123456789101112131415161718class Solution {public: int singleNumber(vector<int>& nums) { 2024-03-05 算法笔记 > 整数 #剑指Offer
LCR003.比特位计数 剑指offer(专项突破版)1.2 二进制题目链接:LCR003-比特位计数方法1:借鉴两数相除题目的思想分析:一种直接的想法是先将0-n之间的每个数的二进制表示求出来,再数其中1的个数,但这样循环次数过多,应该会超时。于是想到可以借鉴LCR001-两数相除这道题的思想。 123456789101112131415161718192021//自己第一次写的代码class Solution 2024-03-04 算法笔记 > 整数 #剑指Offer
LCR002.二进制求和 剑指offer(专项突破版)1.2 二进制题目链接:LCR002-二进制求和1234567891011121314151617181920212223242526272829//自己第一遍写的代码class Solution {public: string addBinary(string a, string b) { //两个字符串长度不同,补零 2024-03-01 算法笔记 > 整数 #剑指Offer #字符串与数值的转换
pa0 PA0实验记录12345678910111213bash -c 'echo "deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse" > /etc/apt/sources.list'/* 解释这条命令是在 Bash shell 中执行一个命令: 2024-01-22 PA实验 #PA
LCR001.两数相除 剑指offer(专项突破版)1.1 整数的基础知识题目链接:LCR001-两数相除书上的讲解很清晰,不过好像漏掉了a=-2147483648 b=1的情况。不知道还有没有其他方法进一步优化,留作以后更新。 12345678910111213141516171819202122232425262728293031323334353637class Solution {public: 2023-12-05 算法笔记 > 整数 #剑指Offer