细品
Andy in boots
一个有故事的程序猿
展开
-
Vim日常使用
vim原创 2022-06-03 22:26:26 · 138 阅读 · 0 评论 -
各种编程文档中可选参数[, key]的意思
一直发现python文档中有类似这样的定义max(arg1, arg2, *args[, key])但是一直没有搞懂参数值*args[, key]这种语法规则,通过搜索我终于了解了,这并不是python中的语法,而是很多编程语言usage中的一种惯例写法文档中的方括号代表可选参数[, a[, b]]:嵌套形式表示 b 是独立于 a 的可选参数,即在传入 a 的情况下,b 可以自由地选择传入或省略。[, a, b] :扁平形式表示 a 与 b 合在一起是一组可选参数,即 a 和 b 必须同时传入或原创 2022-04-26 15:57:49 · 1541 阅读 · 0 评论 -
C语言是用什么语言写的?鸡与蛋的关系
来自一个小白的提问:“C语言本身用什么语言写的?”换个角度来问,其实是:C语言在运行之前,得编译才行,那C语言的编译器从哪里来?用什么语言来写的?如果是用C语言本身来写的,到底是先有蛋还是先有鸡?我们假设世界上不存在任何编译器, 先从机器语言说起,看看怎么办。机器语言可以直接被CPU执行,不需要编译器。然后是汇编语言, 汇编语言虽然只是机器语言的助记符,但是也需要编译成机器语言才能执行,没办法只能用机器语言来写这第一个编译器了(以后就不用了)。汇编语言的问题解决了,就往前迈进了一大步,这转载 2021-02-28 22:42:25 · 248 阅读 · 0 评论 -
【JVM】深入了解JAVA原理,你得先了解它!
前言如果在文中用词或者理解方面出现问题,欢迎指出。此文旨在提及而不深究,但会尽量效率地把知识点都抛出来一、JVM的基本介绍JVM 是 Java Virtual Machine 的缩写,它是一个虚构出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现···好,其实抛开这么专业的句子不说,就知道JVM其实就类似于一台小电脑运行在windows或者linux这些操作系统环境下即可。它直接和操作系统进行交互,与硬件不直接交互,可操作系统可以帮我们完成和硬件进行交互的工作。1.1 Jav转载 2021-02-06 15:56:45 · 254 阅读 · 0 评论 -
震惊!算法题中输入时加getchar()的原因竟是因为它!......
起因:今天在做一道跟栈有关的简单题,发现下面有这样一行提示在打完代码后调试报错,第一个循环总是不显示。在经过研究后我发现,原来是cin后的换行符被getchar()读到了,导致没法按照预期要求得到结果。解决方法:按照我的要求,如果想要cin后的getchar执行的话;那么就需要把cin后的那个\n给忽略掉。有以下两种方法:1.多使用一个getchar()把这个换行读了2.使用库函数cin.ignore()cin.ignore()函数是C++标准输入流(cin)中的一个方法。cin.i原创 2021-01-26 16:16:28 · 415 阅读 · 0 评论 -
什么是编译程序(含翻译程序、解释程序和中间代码的定义介绍)
要在计算机上执行用高级语言(或汇编语言)编写的程序,必须通过特定的途径来进行,也就是要通过翻译程序把用高级语言(或汇编语言)编写的程序翻译成为机器语言构成的程序,计算机才能执行。在计算机上执行一个高级语言程序一般要分为两步:第一步,用一个编译程序把高级语言翻译成机器语言程序;第二步,运行所得的机器语言程序求得计算结果。1.几种基本的翻译程序1.1翻译程序通常所说的翻译程序是指这样的一个程序,它能够把某一种语言程序(称为源语言程序或源程序)转换成另一种语言程序(称为目标语言程序或目标程序)1.原创 2020-12-16 15:40:53 · 7927 阅读 · 0 评论 -
LeetCode 剑指 Offer 51. 数组中的逆序对
剑指 Offer 51. 数组中的逆序对原题链接:点这里在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000第一种解法:归并排序代码:因为在用这种解法的时候感觉自己很NT所以方法名写为NT#include<iostream>using namespace std;const int N = 1原创 2020-10-13 23:48:40 · 119 阅读 · 1 评论 -
浅谈剪枝
剪枝的概念我们知道,所谓深搜和广搜(宽搜),其本质上都是对一棵搜索树的深度、广度优先遍历。无论是图论类型的题目,还是正常的传统性题目都是如此。把握这个性质也是我们设计搜索算法时最重要的思路。而在这个过程中,有些子节点是明显不符合题意的,所以我们就可以在此基础上对算法进行优化,省去很多冗余的环节。因为这个优化的技巧非常像在树上砍冗余的枝条,所以起了一个名字叫做:剪枝。剪枝的分类1、可行性剪枝所谓可行性剪枝,顾名思义,就是当当前状态和题意不符,并且由于题目可以推出,往后的所有情况和题意都不符,那么就原创 2020-09-14 10:17:05 · 315 阅读 · 3 评论 -
LeetCode 2《Add Two Numbers问题》
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.You may assume the two numbers do no原创 2020-08-15 21:56:39 · 174 阅读 · 1 评论 -
LeetCode 1《A + B 问题》
Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same element twice.给定一个整数数组 nums 和一个目标值 target,请你在该数组原创 2020-08-14 23:32:39 · 441 阅读 · 0 评论 -
CSDN博客如何升级!冲就完事了!
已经在CSDN写了好几篇博客,但发现自己的等级还是1j,这是为什么呢?在通过网上查找资料,我终于发现了问题的答案CSDN博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准。博客等级也将由博客积分唯一决定。呢么积分是怎么获得的呢?CSDN积分是什么意思出自哪里,那么积分到底是什么意思呢?我们来了解一下CSDN积分是什么。”规则:1、每发布一篇原创或者翻译文章:可获得10分;2、每发布一篇转载文章:可获得2分;3、博主的文章每被评论一次:可获得1分;4、每发表一次评论:可获得1原创 2020-06-22 15:14:27 · 573 阅读 · 9 评论 -
HUD1003关于分治法及DP思想的初步认识,宁品品!
HUD1003关于分治法及DP思想的初步认识,宁品品!问题示例枚举法分治法DP思想今天刚刚开始做hdu的题,做到第三道就发现不对劲了- -,这道题刚开始感觉无从下手(主要是我太菜),然后去网上搜了下,发现小东西还真有丶东西,用分治法可以做出来的题试着用DP思想做的话简直不要太简单,刷新我这个菜鸡的世界观了。问题题目链接 点我点我Given a sequence a[1],a[2],a[3]...原创 2020-01-31 18:27:52 · 532 阅读 · 0 评论