3-1 从二分查找法看如何写出正确的程序

c++二分查找法 二分查找法是从区间[i,j]上连续不断将sum(a)·sum(b)<0的函数ans=sum(x),通过循环实现把函数sum(x)的0点所在区间一分为二,如此循环,使区间[i,j]的两个端点逐渐像0点靠近,得到0点近似值的方法。可以实现空间优化,适用于数据较大的题目。时间复杂第O(log(2n))。 在使用c++的二分查找法,要先将数据排序,二分查找法的基本思想可以这样总结:我们设数据是按升序... 阅读详情

如何写出正确的程序

  • 我们寻找的数据索引在该范围中:[l .. r]。
  • 设定“循环不变量”
  • 数组中可查找的数据的索引范围为:[0, n-1],前闭后闭。
  • 设置循环结束条件:当 l <= r,区间 [l ... r] 依然是有效的,数组中仅包含一个元素。
  • 设置返回条件:
    • target == arr[mid],返回mid
    • target  > arr[mid],target在 [mid+1 ... r] 中
    • target < arr[mid],target在 [l ... mid-1] 中
  • 设置函数最终的返回值:当l > r,依然没有找到target,那么返回-1。

  • 循环不变量不是一成不变的,可以根据具体情况自由设定。
  • 此时,我们设定“循环不变量”,即我们寻找的数据索引一定在该范围中:[l .. r)。
  • 数组中可查找的数据的索引范围为:[0, n),前闭后开。
  • 设置循环结束条件:当 l == r,区间 [l ... r) 是无效的,所以 条件修改为 l < r。
  • 设置返回条件:
    • target == arr[mid],返回mid
    • target  > arr[mid],target在 [mid+1 ... r) 中
    • target < arr[mid],target在 [l ... mid) 中
  • 设置函数最终的返回值:当l >= r,依然没有找到target,那么返回-1。

因此,算法程序是了解算法思路之后写出来的,而不是背出来的。

我们可以记忆算法的思路,但不应该去背算法的每一行代码。

如何写出正确的程序呢?

  • 明确变量的含义
  • 循环不变量
  • 小数据量调试   —>   测试程序是否正常运行?是否能处理特殊情况?了解程序运行逻辑。
  • 大数据链测试
算法设计三分查找C+程序 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 为大家提供学习材料 立即下载

相关推荐

交叉编译Qt6.5.3(RK3568开发板)

注意,如果使用其它版本的交叉编译器的话,请确保你的交叉编译器能够支持 C++17标准。为确保后续交叉编译没问题,需要确保开发板使用的GLIBC版本不小于2.34版本。到 linaro 网站上下载交叉编译工具,我下载的是 gcc-linaro-11.3.1-2022.06-x86_64_aarch64-linux-gnu.tar.xz。安装 CMake ,最低要求3.16版本,如果要静态编译,需要3.21及以上版本。我使用的3.27版本。:指定为最后交叉编译后的Qt6.5.3库的安装目录。

m0_46309425的博客 5104

从二分查找算法来看如何写出正确的程序

平时我们写程序的时候,总是莫名其妙的出现Bug,一鼓作气的写完一个接口后,经常被队友喷「你怎么一回事?结果与预期不一致啊」 老脸一红,然后一个人藏在角落调试半天,才发现原来是某一个边界条件没处理好,导致Bug重重,今天我们从二分查找算法,来聊聊如何写出正确的程序 像我们熟知的二分查找算法,在1946年就被提出来了,但是到了1962年才出现了完全没有Bug的二分查找法 二分查找法的思想并不复杂,我...

AdolphKevin的博客 505

微信小程序实现锚点效果 scroll-view的scroll-into-view属性

小程序中实现锚点效果,可以直接使用scroll-view的scroll-into-view属性就可以实现锚点效果,比较方便简单。那么需要用到scroll-view那些参数呢,下面具体讲讲:效果展示: wxml **注意:**viewid值是动态的,通过setData设置即可。js wxss......

FaxMiao的博客 5449

如何写出一个正确的二分查找

文章目录1.二分查找2.二分查找的变种查找第一个与key相等的元素查找最后一个与key相等的元素查找最后一个等于或者小于key的元素查找最后一个小于key的元素查找第一个等于或者大于key的元素:查找第一个大于key的元素总结 1.二分查找 注意:本文全部例子默认数组升序排序 基于分治思想的一个很简单的算法,但若想写对,却也不是那么容易 使用条件 二分查找也称折半查找(Binary Search...

star的博客 1162

FIFO的工作原理及其设计

FIFO( First Input First Output)简单说就是指先进先出。FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个口是存储器的输入口,另一个口是存储器的输出口。对于单片FIFO来说,主要有两种结构:触发导向结构和零导向传输结构。触发导向传输结构的FIFO是由寄存器阵列构成的,零导向传输结构的FIFO是由具有读和写地址指针的双口RAM构成。FIFO与普通RAM存储器的是没有外部读写地址线(指针),使用方便,但。

Jackiezhang1993的博客 2万+

Realtek RTD1319D芯片解析:H.266与AV1双解码的机顶盒SoC

视频编解码技术是数字媒体传输的核心,H.266/VVC作为新一代标准,相比H.265提升50%压缩效率,显著降低带宽需求。其实现原理依赖于专用硬件解码器和并行处理架构,在超高清视频传输领域具有重要价值。Realtek RTD1319D作为首款商用H.266处理器,采用异构计算设计,集成四核ARM CPU和独立视频处理单元,同时支持AV1解码,兼顾市场兼容性。该SoC特别适合4K机顶盒、数字标牌等应用场景,其HDMI 2.1a接口和DVB解调器为超高清内容传输提供完整解决方案。开发时需注意散热设计和内存配置优

weixin_42591413的博客 673

传说中的二分查找

很久以前在csdn的编码挑战栏里第一次看到“90%的程序员无法正确实现二分查找”

猪哥的白驼山 733

杰理可视化SDK开发-杰理AC1123N芯片SDK开发笔记合集

该文档主要描述 AC112N开发相关的使用说明和注意事项,收集并持续更新开发调试过程中的相关疑问和解答,对SDK介绍文档做一个补充说明。写作人:李永奉,参考项目MD-026H; AC112N-SDK项目帮助文档在杰理开发者平台(JL DP)'帮助'处进入,如本文档有与后续帮助文档或工具注释说明冲突,以后者为标准。

李永奉的博客 183

由July师兄二分查找代码及编程珠玑有感:循环不变性(断言)证明程序的正确性及发现bug

最近看到Lucida大神写的算法数据结构经历以及各种面试经历帖,偶然看到编程珠玑这本书,发现里面对二分查找的证明有着与 算法导论的循环不变性相似,但是更加make sense的证明思路,最近读了一下,有一些心得。大家可以尝试运用这个方法来证明下更加容易 出现bug的快速排序算法,以便确定自己的代码是否正确。 二分查找算法(h=n-1版本): int BinarySearch(int

richardzrc的博客搬家了--->richardzhang.info 1858

6.3 节深度拆解:Hermes Agent 多 Agent 协同执行链路的 4 层设计逻辑

拆解 Hermes 多 Agent 协同的 4 层工程化设计(协议层、编排层、执行层、适配层),聚焦协议层的强约束消息 Schema 如何解决 Agent 间语义不一致问题,并提供 `soul.md` 配置、GLM-4.7Flash 结构化输出验证及 v0.13.0/v0.14.0 版本实操避坑指南

weixin_42520239的博客 122

YOLO26改进策略【YOLO和Mamba】| 2024 VM-UNet,高效的特征提取模块VSS block 二次创新提高精度

VM-UNet模型设计的出发点是解决现有CNN-based和模型在医学图像分割中的局限性,利用(SSMs)的优势,提出一种更有效的医学图像分割模型。具体来说,CNN-based模型在捕捉长距离信息方面存在不足,而模型由于自注意力机制的二次复杂度导致计算负担较重。SSMs模型如Mamba不仅在建模长距离依赖方面表现出色,还具有线性计算复杂度,这为VM-UNet的设计提供了理论基础。

Limiiiing的博客 218

关于编程C++——如何写程序

①

HybridCOW_HORSE的博客 1484

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

怎么将算法改成程序_从二分查找算法来看如何写出正确的程序

从二分查找算法来看如何写出正确的程序平时我们写程序的时候,总是莫名其妙的出现Bug,一鼓作气的写完一个接口后,经常被队友喷「你怎么一回事?结果与预期不一致啊」老脸一红,然后一个人藏在角落调试半天,才发现原来是某一个边界条件没处理好,导致Bug重重,今天我们从二分查找算法,来聊聊如何写出正确的程序像我们熟知的二分查找算法,在1946年就被提出来了,但是到了1962年才出现了完全没有Bug的二分查找法...

weixin_39705435的博客 205

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

二分查找法

3-1 从二分查找法看如何写出正确的程序 二分查找法 思想:将查找的键值和数组的的中间键值作比较,如果被查找键值小于中间键值,就在左子数组中继续查找;如果大于中间键值,就在右子数组中继续查找;否则,中间键值就是要找的元素。 注意:对于有序数列,才能使用二分查找法(排序的作用) 循环不变量(Loop invariant):所谓循环不变量是指一种在整个循环过程中保持不变的性质,必须在以下3种情况下均保...

KAIKAI_ING的博客 611

7-8 二分查找法

从这道题目,我们可以学习和深化以下几个方面的认识和技能:1. **二分查找法的基本原理和应用**:二分查找法是一个经典的搜索算法,用于快速查找有序数列中的特定元素。2. **算法效率**:理解为什么二分查找是高效的(与线性查找相比),特别是对于大数据集。这种算法的时间复杂性是O(log n),与每次都减少查找范围一半的策略直接相关。3. **条件循环**:通过while循环和条件判断,我们可以控制程序的执行流程,直到满足某个条件为止。这在很多算法和问题解决方案中都是一个常见的模式。

tang7mj的博客 628

java中二分查找法立方根_第 3 章 一些简单的数值程序

第 3 章 一些简单的数值程序我们已经学习了一些Python语言基础结构,现在使用这些结构编写一些简单的程序。通过这种方式,我们再顺便介绍几种语言结构和算法技术。3.1 穷举法当一个整数存在整数立方根时,图3-1中的代码会对其进行输出。如果输入不是一个完全立方数,则输出一个消息进行说明。#寻找完全立方数的立方根x = int(input('Enter an integer: '))ans = 0w...

weixin_29439509的博客 756

二分查找法模板

历史上,二分查找算法虽然思想简单,但引起了人们的足够重视和关注。 1、算法和程序设计技术的先驱 Donald Ervin Knuth(中文名:高德纳): Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky ... ...

QQ2558030393的博客 395

matlab如何用二分查找法,【二分查找法】你真的写对了吗?

导语在众多有趣又有难度的题目中,有一道老题却是大家都纷纷选择避开的,那就是去实现二分查找。因为它很好写,却很难写对。可以想象问了这道题后,在5分钟之内面试的同学会相当自信的将那一小段代码交给我们,剩下的就是考验面试官能否在更短的时间内看出这段代码的bug了。 ---- ccmouse看起来是个很小的问题,其实也不容易。据说第一篇二分搜索论文是1946年发表,但是完全没有错误的二分搜索程序却是在19...

weixin_39644750的博客 849

二分查找法的实现和应用汇总

到目前位置,似乎我们学到的算法中,时间复杂度是O(log n),好像就数二分查找法,其他的诸如排序算法都是 O(n log n)或者O(n2)。但是也正是因为有二分的 O(log n), 才让很多 O(n2)缩减到只要O(n log n)。   关于二分查找法   二分查找法主要是解决在“一堆数中找出指定的数”这类问题。 而想要应用二分查找法,这“一堆数”必须有一下特征: 存储在数组中...

ParadiseHeaven的博客 888

c语言练习题1(数组和循环)

它的工作原理是通过将待搜索区间分成两半,判断要查找的元素可能在哪一半,然后继续在可能存在目标元素的那一半区间内查找,直到找到元素或区间被缩小为0(即未找到元素)。:设置两个指针(或索引),分别指向数组的开始(left = 0)和结束(right = n-1),其中n是数组的长度。给定一个一维整型数组,请编写一个程序,统计数组中每个元素出现的次数,并打印出每个元素及其对应的出现次数。给定一个m×n的矩阵,请编写一个程序实现该矩阵的转置,即行列互换,得到一个n×m的矩阵。然后,将中间元素与目标值进行比较。

m0_74859128的博客 1358

InnoDB索引概述,二分查找法,平衡二叉树

索引是应用程序设计和开发的一个重要方面。如果索引太多,应用的性能可能会受到影响;如果索引太少,对查询性能又会产生影响。要找到一个合适的平衡点,这对应用的性能至关重要。 如果知道数据的使用,从一开始就应该在需要处添加索引。开发人员对于数据库的工作往往停留在应用的层面,比如编写SQL语句、存储过程之类,他们甚至可能不知道索引的存在,或者认为事后让相关DBA加...

weixin_34080903的博客 216

算法-二分查找法(关键字-快速查找)

二分查找(快速查找)

qq_38807606的博客 456

只有10%的程序员可以写出二分查找算法

有一些讲编程的图书,我会从头到尾、一字不落地反复研读;还有一些讲编程的图书,我已经看过好几遍了,但每次差不多都是只看其中的一章。乔恩·本特利(Jon Bentley)1986年的经典名著《编程珠玑》(Programming Pearls)则是少数几本能同时归入上述两类的编程图书之一。 我打算最近再专门写一篇关于这本书的文章,但今天我只想就这本书中的几段话谈谈自己的想法。这几段内容有点骇人听闻...

java开发指南博客 【转载】 82
上一篇: 2-6 均摊时间复杂度分析
下一篇: 3-2 数组中常见问题-解决方法-对撞指针
SIONCIOSC
博客等级 码龄16年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值