编程基础
屎山搬运工
这个作者很懒,什么都没留下…
展开
-
while()判断语句的正确写法(解决越界问题)
while()语句是我们code时比较常用的循环语句,但是对于while语句的判断条件的写法有一些重要的小技巧,在这里分享一下。例如:设数组num[3],用while语句找出数组中第一个不为“0”的数。输入[0,0,0]分析:这是常见的一种情况,无论是while还是for,如果数组中有符合要求的元素,自然是在相应位置退出循环。但是,对于这种没有符合条件的元素,需要一些特殊的约束条件。情形一:最容易想到的使用while,即:int i=0;while(num[i]==0){i++;}很原创 2020-08-12 15:42:34 · 4861 阅读 · 0 评论 -
二进制的位运算操作(LeetCode的java实现)
直接上题:LeetCode190题:颠倒二进制位题目描述:颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596, 因此返回 964176192,其二进制表示形式为 00111001011110000010100101000原创 2020-07-07 20:29:09 · 459 阅读 · 0 评论 -
找到两个单链表相交的起始节点(一个浪漫的解法)
LeetCode160题,解法新奇,富有深意,耐人寻味。题目链接:160. 相交链表题目描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个链表相交原创 2020-06-28 17:10:36 · 548 阅读 · 0 评论 -
LaTeX快速入门(Texlive+Texstudio软件安装)
LaTeX安装推荐LaTeX编译器与LaTeX编辑器texlive+Texstudio(WinEdit)Texlive安装官网地址:https://www.tug.org/texlive/下载如果官网下载速度太慢,可以在国内清华大学的镜像上下载: https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/...原创 2020-01-10 11:12:22 · 2240 阅读 · 0 评论 -
LaTeX引用参考文献-bibtex格式
在写文章时,参考文献的引用很麻烦,不仅需要一条一条的写,而且参考文献的可是要求及其严格,不容许有一点错误。LaTeX给我们提供了多种引用参考文献的方法,其中包括逐条输入,参考LaTeX快速入门(简易模板),虽然这样可以省去格式上的要求,但仍然很麻烦。接下来介绍用BibTex作为Latex文档引用的参考文献格式管理库。新建BibTex文件在LaTeX文件所在的文件夹下,新建一个txt文本文件,...原创 2020-01-07 16:05:13 · 56179 阅读 · 6 评论 -
LaTeX快速入门(简易模板)
LaTeX 基于 TeX,主要目的是为了方便排版。在学术界的论文,尤其是数学、计算机等学科论文都是由 LaTeX 编写, 因为用它写数学公式非常漂亮。首先直接展示一个简易模板:\documentclass{article}\usepackage{ctex}\usepackage{graphicx}\usepackage{float}\usepackage{datetime}\ti...原创 2020-01-07 13:33:03 · 15494 阅读 · 0 评论 -
for循环,增强for和while的用法区别
循环语句在基础的编程中是必备的,而最常见的有两种for循环和while循环。还有一种不常用的是增强for循环,但这种循环语句如果使用恰当,会大大提高循环的效率。for循环格式:for(循环变量赋初值;循环条件;循环变量增值)语句这是for循环的一般写法,可以根据实际情况进行变换。变换形式:for语句的一般格式中的“循环变量赋初值”可以省略,但是同时应该在for循环之前对循环变量进行定...原创 2019-11-05 21:35:03 · 606 阅读 · 0 评论 -
位运算实现字符的大小写转换
在一些编程题中,通常会有统一小写、统一大写或者大写转小写、小写转大写等操作。在上一篇中,介绍了java的API:点击查看详细说明s.toLowerCase(); s.toUpperCase(); 两种方法,但是这不足以让我们学习其真正的运算原理,而且对于 大写转小写且小写转大写 的操作,用API的方法较为复杂。所以,学习用位运算解决类似问题,可以了解运算的基本原理,更重要的是何以提高运算...原创 2019-10-29 14:53:38 · 1660 阅读 · 0 评论 -
Java中常见的几种字符串操作
Java对字符串的操作与其他的编程语言有很大的区别。在面试笔试的算法编程题中,也经常会遇到字符串的处理,这里总结了几种常见的字符串操作。(总结的不全,会实时更新)操作一:字符串->字符数组这种操作适用于给定了字符串,但实现过程需要对字符串的某些字符进行修改。s = "abc";char[] str = s.toCharArray();操作二:字符串->访问某字符这种操作和...原创 2019-10-26 14:11:54 · 331 阅读 · 0 评论 -
异或运算在编程中的应用
题目描述1. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4题目来源2. 缺失数字给定一个包含 0, 1, 2, …, n 中 n 个数的序...原创 2019-10-25 19:29:09 · 468 阅读 · 0 评论 -
删除排序数组中的重复项
题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 ...原创 2019-10-23 20:05:38 · 87 阅读 · 0 评论