【刷题笔记】第二天

AltiumDesigner 09安装过程破解问题 . 首先分享一下破解文件,网上总是下载不到,好不容易下载到了,放在网盘上,有需要的自取。AltiumDesigner 09破解文件。链接:https://pan.baidu.com/s/1ZGvbR_6T51hpcaFbQiMX5w 密码:qwvaAltiumDesigner 09安装安装文件,比较大,包含破解文件:链接:https://pan.baidu.com/s/1mfgragB519jpGfR... 阅读详情

一道图论相关的题目

3108. 带权图里旅途的最小代价

结论:
做与运算,结果不会大于当前值,也就是说与运算只能导致结果不变或越来越小,所以要使得边的and值最小,就是把每一个联通块的所有边都and一遍。

方法1:dfs

深度优先遍历每一个节点,并计算该节点所在的联通块内所有边的与值
两个点的联通情况,分三种可能:
1、两个点不在同一个联通块
2、两个点在一个联通块
3、两个点相同

class Solution {
    // 从u节点出发,计算联通块id里的边and值
    // u输入联通块id
    public int dfs(int u, int id, List<int[]>[] g, int[] ids) {
        ids[u] = id;
        int ans = -1; // -1的二进制数所有位全为1, -1 & x = x
        for (int[] cur : g[u]) {
            int v = cur[0];
            int w = cur[1]; 
            ans = ans & w; // 注意这句不能写在下面if里,如果写在if里,则不能保证所有的边都被and (因为两个节点的边可能不止一条),见解释1
            if (ids[v] == -1) {
                // 从u能走到v,说明v也属于联通块id
                ans = ans & dfs(v, id, g, ids);
            }
        }
        return ans;
    }
    public int[] minimumCost(int n, int[][] edges, int[][] query) {
        List<int[]>[] g = new ArrayList[n]; // g[x]:表示从x节点出边的<入点,边>集合
        for (int i = 0; i < n; ++i) {
            g[i] = new ArrayList<>();
        }
        for (int[] e : edges) {
            int u = e[0];
            int v = e[1];
            int w = e[2];
            g[u].add(new int[]{v, w});
            g[v].add(new int[]{u, w});
        }

        int[] ids = new int[n]; // 计算每一个节点(0 ~ n-1)所在的联通块编号
        Arrays.fill(ids, -1);
        ArrayList<Integer> andAns = new ArrayList<>(); // 每一个联通块的边的and值
        for (int i = 0; i < n; ++i) {
            // 计算所有点的联通块编号
            if (ids[i] == -1) {
                // i节点未计算过
                andAns.add(dfs(i, andAns.size(), g, ids));
            }
        }
        int[] res = new int[query.length];
        int index = 0;
        for (int[] q : query) {
            int x = q[0];
            int y = q[1];
            /**
            分三种情况:
            1. x和y不属于同一个联通快,返回-1
            2. x和y属于同一个联通块,返回联通块的and值
            3. x和y相同,返回0
             */
            if (ids[x] != ids[y]) {
                res[index++] = -1;
            }
            else if (ids[x] == ids[y]) {
                res[index++] = andAns.get(ids[x]);
            } else if (x == y) {
                res[index++] = 0;
            }
            
        }
        return res;
    }
}

解释1:如果把ans = ans & w;写在if里,就会忽略1这条边或者2这条边。因为假设and了1这条边,ids[1]就不为-1了,当遍历2这条边的时候,不会执行if里的语句。

image-20240411104034266

补充:

Arrays.fill(数组名, 填充值);
例如:
int[] ids = new int[n];
Arrays.fill(ids, -1);

方法2:并查集

遍历每一条边,如果边的两个节点不在一个集合,就合并,并计算新集合的and值

class Solution {
    public int find(int x, int[] p) {
        if (x != p[x]) {
            p[x] = find(p[x], p);
        }
        return p[x];
    }
    public int[] minimumCost(int n, int[][] edges, int[][] query) {
        int[] p = new int[n];
        for (int i = 0; i < n; ++i) {
            p[i] = i;
        }
        int[] and = new int[n]; // 代表节点的and值
        Arrays.fill(and, -1);
        for (int[] e : edges) {
            int u = e[0];
            int v = e[1];
            int w = e[2];
            int uFather = find(u, p);
            int vFather = find(v, p);
            
            and[vFather] &= w;
            if (uFather != vFather) {
                // u和v不在同一个集合就合并
                // u所在的集合合并到v所在的集合
                and[vFather] &= and[uFather]; // 只计算代表节点的and值
                p[uFather] = vFather;
            }
        }

        int[] res = new int[query.length];
        int index = 0;
        for (int[] q : query) {
            int u = q[0];
            int v = q[1];
            res[index++] =  u == v ? 0 : find(u, p) == find(v, p) ? and[find(u, p)] : -1;
        }
        return res;
    }
}
汉书HE8,好用的汇编代码编写工具 汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大 立即下载

相关推荐

matianl:SAP 最详细的权限管理解析

上文所说的系统自带权限对象与权限字段仅能满足有限的需要,其权限审核的逻辑也是系统硬编码了的,我们能做的只是是否启用某项权限对象的检查(使用SU22)。如果需要自定义,通过SU20、SU21定义即可。

matinal 當冬夜漸暖 。公众号:matinal 2155

leetcode刷题笔记坚持第二天

leetcode刷题明天继续加油坚持!

hey_boy_1222的博客 167

Cibersort免疫浸润 --- 详细教程

免疫浸润是指免疫细胞如淋巴细胞、浆细胞、巨噬细胞等进入到组织或器官中,并在这些组织或器官中发挥免疫功能的过程。免疫细胞的浸润可以是炎症反应的一部分,也可以是针对感染、肿瘤或其他疾病的免疫应答的一部分。免疫浸润通过调节免疫反应和炎症反应的程度和类型,起到维护机体免疫平衡和清除异常细胞或病原体的作用。在某些情况下,免疫浸润可能导致炎症反应过度,引起组织损伤,例如自身免疫性疾病。因此,免疫浸润在许多疾病的诊断和治疗中都具有重要的意义。免疫浸润可以通过组织切片染色和免疫组织化学等方法观察和分析。

ZxVSaccount的博客 9109

牛客网刷题笔记(第二天)

牛客网刷题(第二天)1.a标签页面不跳转2.DHTML3.call()和apply()4.Javascript内置的可迭代对象 1.a标签页面不跳转 1.标签属性href,使其指向空或不返回任何内容 <a href="javascript:void(0);" >点此无反应javascript:void(0)</a> <a href="javascript:;" &gt...

qq_43669042的博客 179

FAST-LIO 实战:从 LI-Init 标定到 YAML 配置全解析

本文详细解析了FAST-LIO算法中LI-Init标定的关键步骤与YAML配置优化技巧。从激光雷达与IMU的时空标定原理到实战参数调优,提供了一套完整的解决方案,帮助开发者解决点云畸变、建图漂移等常见问题,提升SLAM系统在动态环境中的稳定性和精度。

weixin_42651281的博客 328

1.3-----Simplify 3D切片软件:从新手困惑到高效打印的进阶设置指南

本文详细介绍了Simplify 3D切片软件在大型模型打印中的高效设置技巧,包括切片效率、支撑结构智能生成和精细参数调节等核心优势。通过实战案例和进阶参数设置指南,帮助用户从新手快速进阶到高效打印,显著提升3D打印质量和效率。

weixin_42552716的博客 422

刷题笔记(第二天)

总结:实例对象是由构造函数创建出来的,当在实例对象上找不到对应的属性(实例对象的构造函数上无对应的属性),那么就会去构造函数的原型上查找对应属性,故改变所有实例对象的对应属性,即直接改变实例对象所对应的构造函数的原型即可。3.描述:给定一个构造函数 constructor,请完成 alterObjects 方法,将 constructor 的所有实例的 greeting 属性指向给定的 greeting 变量。无论是否有明确定义对应的形参,通过它我们可以访问到函数的所有参数。

m0_62508027的博客 174

《中国电信运营商骨干网:历史、现状与未来演进》系列 第一篇:中国骨干网全景图:一级运营商与专用网络的演进

揭秘国家信息高速公路!一文读懂什么是骨干网,它如何支撑我们的数字生活,以及电信、联通、移动、广电等巨头如何构建这张“国家级动脉”。

maqh_csdn的博客 2037

每日刷LeetCode题笔记(第二天)

先遍历一次,计算链表的长度,再去求得链表中间节点下表(注意偶数结点的时候,得到的是中间的第二个结点),然后再遍历一次,来到所要求结点的位置。//每当慢指针 slow 前进一步,快指针 fast 就前进两步。一开始拿到这个题真的是毫无头绪,看了大佬们的题解,才发现有这么一个方法,真的很快!该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。1,必须先遍历完整个链表,再遍历到一半,找到中间结点;快慢指针的前进方向相同,且它们步伐的。,请你找出并返回链表的中间结点。2,在链表的长度很长的时候,

2201_75375215的博客 79

【晶振专题】晶振学习笔记——ST AN2867应用手册 2

通过学习AN2867设计指南,我们知道皮尔斯晶振的基本知识。也了解了晶振的负载电容计算方法、安全因子测试方法和反馈电阻的作用。

一点硬件 1364

069_死区效应对输出电压畸变的补偿思路

死区效应导致逆变器输出电压在过零点出现台阶畸变,引发THD升高。其本质是死区期间续流二极管钳位造成的非线性误差,与电流方向、负载大小、母线电压耦合。补偿需结合前馈(基于电流方向自适应调整偏置)与反馈(抑制残余谐波),关键在于准确判断电流方向(采用滞环滤波避免跳变)、合理设置补偿量(随负载动态调整),并注意补偿位置、极性及限幅防漂移。调试应通过差分探头、FFT频谱等手段验证效果,最终实现全负载范围内的低畸变输出。

2401_88858637的博客 22

【第二天】LeetCode刷题笔记分享 | 容易篇 | 09 回文数

文章目录一、题目的信息1.1 题目的描述1.2 示例1.3 注意二、题解题解思路三、代码实现3.1 `LeetCode`自带编译器.

weixin_45615071的博客 398

HarmonyOS应用开发者基础认证

B. 自定义组件:可复用的 UI 单元,可组合其它组件。D. 内置组件:ArkTS中默认内置的基本组件和布局组件,开发者可以直接调用,如Column、Text、Divider、Button等。E. 属性方法:用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等。在Column和Row容器组件中,justifyContent用于设置子组件在主轴方向上的对齐格式,alignItems用于设置子组件在交叉轴方向上的对齐格式。

牛肉胡辣汤 3819

算法刷题第二天(跑路人笔记)<双指针>

刷题

qq_61434711的博客 246

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

leetcode刷题笔记(6)第二天,旋转数组*

给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。 进阶: 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 你可以使用空间复杂度为O(1) 的原地算法解决这个问题吗? 示例 1: 输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] ...

Sychen__的博客 174

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

leetcode刷题笔记(5)第二天,有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0,1,9,16,100] 示例 2: 输入:nums = [-7,-3,2,3,11] 输出:[4,9,9,49,121] 暴力输出:先平方后排序 class Solution { public:

Sychen__的博客 486

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java面试3天冲刺攻略:高频考点+实战刷题+避坑指南

Java作为企业级应用开发的核心语言,其面试准备需要系统性的知识体系构建。从Java虚拟机内存模型到并发编程原理,理解底层机制是应对技术考察的基础。HashMap作为集合框架的关键组件,其数组+链表/红黑树结构、哈希冲突解决和扩容机制体现了数据结构的设计思想。在技术价值层面,掌握核心概念能够提升代码质量和系统性能,特别是在高并发场景下的线程安全问题处理。应用场景涵盖互联网企业的后端开发、金融系统的交易处理等需要稳定性和性能保障的领域。本文基于2026年面试趋势,整合HashMap原理和JVM调优等热词,提供

weixin_30252709的博客 446

LeetCode热题100 刷题笔记(第二天)滑动窗口 「无重复字符的最长子串」

本文通过解决"无重复字符的最长子串"问题,介绍了滑动窗口算法的应用。文章首先给出题目描述和示例,然后展示了Java实现代码,重点解释了关键API如map.getOrDefault()和charAt()的使用方法。核心部分详细讲解了滑动窗口算法原理:通过左右指针维护一个不含重复字符的窗口,右指针扩展窗口,左指针在出现重复时收缩窗口,同时记录最大窗口长度。最后给出了滑动窗口的通用解题模板。全文采用通俗易懂的比喻(如奶茶店排队)帮助理解算法思想,适合算法初学者学习。

2301_81189772的博客 399

算法日常刷题笔记(5)

第五篇刷题笔记

Hismybestlove的博客 1273

刷题方法

作为 LeetCode 的铁粉并受益的刷题人,我认为掌握一套高效的尤其有效,否则很难覆盖日益增多的题库,并且大多数时候刷完不久就会忘掉。所以我把当年刷题的经验分享给你,希望我的方法也对你有用,希望我们能做同事。 我方法的核心实际上和背英语单词类似,总结题型,找到高频题并且不断重复。具体来讲就是 按 tag 分类——...

MichaelAn的博客 683

重启算法刷题之路 —— Hot100 刷题记录开篇

本文作者宣布重启LeetCode Hot100算法刷题计划,旨在通过公开记录的方式督促学习并加深理解。不同于简单刷题打卡,该系列将重点记录:1)完整的题目思考分析过程;2)解法思路拆解;3)解题方法归纳;4)常用代码细节积累。作者强调算法学习需要笔记辅助,避免"见题忘解",并将以个人笔记形式呈现真实学习过程。由于兼顾实习工作,更新进度可能较慢,但会保持持续性。该系列适合需要系统准备算法面试的读者参考交流。

2401_87648644的博客 947

算法日常刷题笔记(2)

 为保持刷题的习惯 计划一天刷3-5题 然后一周总计汇总一下 这是第二篇笔记

Hismybestlove的博客 961

算法日常刷题笔记(7)

继续

Hismybestlove的博客 838

PAT刷题日志

2020-05-10: 调整刷题策略:集中精力刷《算法笔记》第四章的题目,夯实基础。基础实在太差,第八章之后的题目压根就不会,做题的时候就是抄一遍代码,理解一遍代码,根本不能算作刷题,而是被题刷。 之前一个知识点一道题的方法根本就是走马观花,蜻蜓点水,抄一遍代码就觉得会了,第二天就忘干净了 两个字来形容:浮躁 ...

qq_41228018的博客 295

【刷题笔记】——day.2三种方法实现链表的反转

【刷题笔记】——day.2三种方法实现链表的反转

Tired_ace的博客 8348

C刷题:LeetCode刷题踩坑常见bug总结【持续更新】

C刷题:LeetCode刷题踩坑常见bug总结常见坑点debug经验代码分析 Git项目地址:LeetCodeUsingC刷题笔记 本文主要记录刷题过程中,经常出现的一些bug错误,便于快速定位排查以及提高正确编码意识,欢迎大家参考并补充。更专业的内容可以查阅书籍《C缺陷和陷阱》。 常见坑点 数组下标越界,下标改变后用前务必保证在有效范围内,防止越界或为负 代码理解错误,特别涉及到对参考的代码自己实现时,对原代码功能理解错误,需要仔细和扎实的基础 使用双指针时,经常误用 left - right 作为长度

来知晓的博客 2880
上一篇: 【刷题笔记】第一天
下一篇: 【刷题笔记】第三天
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值