第一章 大体知道java语法1----------能写java小算法
很多人开始学习java时,都是抱着诸如《Thinking in java》、《疯狂java》等书籍,从前到后慢慢翻看,不管其内容重要与否,也不关心自己以后能否使用到。我的建议是,初学者只需要关注基础语法,对一些多线程、网络编程、JDBC等,先放放,心里有个概念就好,知道当我要并发处理任务时要去翻多线程,使用某些网络服务时翻网络编程,需要访问数据库时翻JDBC等,不是说他们不重要,相反,他们非常之重要,只是如果结合具体场景学习的话,事半功倍。具体的语法我就不详细说了,各种参考资料一大堆。
程序员,写代码是基本功,所谓的写代码,实质就是用计算机语言去解决问题,底下若干算法题,是我出给刚入职的小伙伴做的。刚入职的小伙伴不断的写简单算法,写到看到一个问题,就能够考虑到用什么数据结构去解决该问题,那么不仅仅能够给他们信心,同样也能奠定夯实的基础。有的小伙伴就问了,我是要学习“真正”的软件开发,你让我写这些“简单”算法有什么意思?还未入门的程序员有这种想法并不奇怪,我们在做项目时,无非也只是结合具体业务场景,各种if.....else、for循环啥的,然后充斥着各种数据结构,如数组、list、Map等等罢了,即便是复杂算法,也就是这么些简单基石构建而成。
底下9道简单算法,一眼望过去,你就有了思路,并且能够麻溜的敲出来,那么恭喜,你已经半只脚踏入了程序员的大门,后期只要结合具体的框架以及场景,你就能干活了,哈哈。
(1)输入一个字符串,去除所有重复的字符,保持字符出现顺序,输出结果。
例:输入 abbcdeacf
输出 abcdef
(2)输入一个字符串,字符个数为偶数,例如2、4、6、8...,先将第奇数位的字符依次输出,接着将第偶数位的依次输出(此处的第*位,从1开始,不同于数组下标0开始)。
例:输入 abcdef
输出 acebdf
(3)输入一组数字,数量大于3,取第2小以及第2大的数相加,并输出结果。
例:输入 1 2 3 4 5 6
输出 7
输入 1 2 3
输出 4
(4)输入一串字符,输出所有不同字符,不需要考虑输出顺序。
例: 输入 abccdfffacc
输出 abcdf
(5)我有一些钱,从第一天开始,每天花掉我身上钱的一半加1元,到第十天,我就剩下1元,请问我一开始有多少钱。
(无输入,直接写算法解决问题,递归算法)
(6)输入一个十进制,输出它对应的二进制字符串。
例: 输入 5
输出 101
(7)输入一个字符串,输出其中最长的对称字符串,如有多个,随便哪个。(关键在于怎么解决这个问题,没有特别的算法)
例:输入 a
输出 a
输入 xabcdcbayfd
输出 abcdcba
(8)编写一个简单算法,接收一个字符串,找出其中出现次数最多的字符,若有多个次数相同的,随便哪个。
例: 输入 aaaabc
输出 a
(9)编写一个简单算法,生成一个num长度的随机字符串,字符可以是大写字母、小写字母、数字、_、$,不可以数字打头。
例: 输入 3
输出 $2s
第一章 大体知道java语法1----------能写java小算法的更多相关文章
- 回顾PHP:第一章:PHP基础语法
第一章:PHP基础语法 一.常量: 1.1.define()函数:define(‘R’,’5’,’true’); //R:常量名,5:常量值,true:常量名对大小写不敏感,为false时表示对常量名 ...
- 第一章:python基础语法| 字符编码| 条件语句...
1.编程语言介绍 编程就是写代码,让计算机帮你做事情.计算机底层是电路,只认识二进制0和1.机器语言&汇编语言语言进化历史:机器.汇编.高级.机器语言只接受二进制代码:汇编语言是采用英文缩写的 ...
- 回顾PHP:第一章:PHP基础语法(2)
十.PHP常量和变量——用常量限制用户跳过某些文件(重要) 十.1常量在代码中定义.书写方式: define(常量名,常量值) 注:1.常量值只能为标量 2.常量名可以小写,但是通常大写 3.常量名可 ...
- Java语法基础学习DayNine(Java集合)
一.Java集合 1.概述 一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就需要对对象进行存储.另一方面,使用Array存储对象具有一些弊端,而Java集合就像一种容器, ...
- 用 Java 拿下 HTML 分分钟写个小爬虫
本文适合有 Java 基础知识的人群 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列,今天给大家带来一款开源 Java 版一款网页元素解析框架- ...
- Upgrading to Java 8——第一章 Lambda表达式
第一章 Lambda表达式 Lamada 表达式是Java SE 8中最重要的新特性,长期以来被认为是在Java中缺失的特性,它的出现使整个java 语言变得完整.至少到目前,在这节中你将学习到什么是 ...
- Java第一章----Java概述+环境搭建
写在前面的话: Java基础的东西看过好几遍,但是过一段都就忘记了,所以这次我决定花费一些时间整理一个系列博客供以后方便查阅.此系列根据Java编程思想+Java核心技术两本书整理而来,这两本书也是我 ...
- 我的python中级班学习之路(全程笔记第一模块) (第一章)(第2部分:如何设置python中的字体颜色,猜年龄练习题解答,while else语句,pycharm的使用)
第一章: python 基础语法 第 2 部分: 一.猜年龄练习题解答 直接上代码 >>> age = 26 >>> count = 0 >>&g ...
- 深入理解java虚拟机(十二) Java 语法糖背后的真相
语法糖(Syntactic Sugar),也叫糖衣语法,是英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语.指的是,在计算机语言中添加某种语法,这些语法糖虽然不会对语言 ...
随机推荐
- 《深入实践C++模板编程》之三——模板参数类型详解
非类型模板参数 和 模板型模板参数 整数以及枚举类型:指向对象或者函数的指针:对对象或函数的引用:指向对象成员的指针.统称为非类型模板参数. 模板型模板参数,是指模板参数还可以是一个模板. 1.整 ...
- 序列化和反序列化在浏览器和 Web 服务器之间传递的数据、加密解密
js中数组不能传递到后台,需进行json序列化: var data = new Array(); data.push({para1:name,para2:answer}); string data = ...
- Java 中使用serversocket通信
1. 创建一个Java项目 TestMyServerSocket. 2. 创建一个包 com.weloglog.main 3. 创建一些使用到的类 程序启动类 MyServerSccket : 用来启 ...
- java中成员变量和局部变量在内存中的分配
对于成员变量和局部变量:成员变量就是方法外部,类的内部定义的变量:局部变量就是方法或语句块内部定义的变量.局部变量必须初始化. 形式参数是局部变量,局部变量中基础数据类型的引用和值都存储在栈中,对象引 ...
- python之数字类型小知识
数字是表示计数的抽象事物,也是数学运算和推理的基础,所以,生活中数字是生活中无处不在的,那么,在python语言中运用数字有哪些小知识呢,不妨花点时间看一下这篇博文,牢记这些小知识. 整数类型中四种进 ...
- djang部署vue项目
1,将vue项目npm run build 在此之前需要修改打包后的js,css文件路径: 需新建vue.config.js 在文件中添加: module.exports = { // 输出目录 as ...
- Java高并发程序设计学习笔记(五):JDK并发包(各种同步控制工具的使用、并发容器及典型源码分析(Hashmap等))
转自:https://blog.csdn.net/dataiyangu/article/details/86491786#2__696 1. 各种同步控制工具的使用1.1. ReentrantLock ...
- shell运行下的写日志
tee 重定向输出到多个文件 在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令 要注意的是:在使用管道线时,前一个命令的标准错误输出不会被tee读 ...
- python之时间日期datetime
相比于time模块,datetime模块的接口则更直观.更容易调用datetime模块定义了以下几个类: datetime.date():表示日期的类.常用的属性是year,month,day:dat ...
- GDI+ 绘图教程 验证码
使用的 C# winform using System; using System.Collections.Generic; using System.ComponentModel; using Sy ...