LintCode String, Function & Class 第一部分
来源:互联网 发布:c语言栈实现四则运算 编辑:程序博客网 时间:2024/06/12 01:50
LintCode String, Function & Class 第一部分
今天花了点时间刷了LintCode第三单元第一部分的题目,都比较简单。下面一一过下。
第一题: 矩阵面积
实现一个矩阵类Rectangle,包含如下的一些成员变量与函数:
两个共有的成员变量 width 和 height 分别代表宽度和高度。
一个构造函数,接受2个参数 width 和 height 来设定矩阵的宽度和高度。
一个成员函数 getArea,返回这个矩阵的面积。
样例
Rectangle rec = new Rectangle(3, 4);
rec.getArea(); // should get 12
这题是一道基本的构建一个类的题目。代码如下:
public class Rectangle {private int width;private int height;public Rectangle(int width, int height){ this.width = width; this.height = height;}public int getArea(){ return width*height;}}
第二题:动态数组 ArrayList
用 ArrayList 实现一些操作:
create(n). 创建一个大小为n的ArrayList,包含n个整数,依次为[0, 1, 2, … n-1]
clone(list). 克隆一个list。
get(list, index). 查询list中index这个位置的数。
set(list, index, val). 将list中index这个位置的数改为val。
remove(list, index). 移除list中index这个位置的数。
indexOf(list, val). 在list中查找值为val的数,返回它的index。如果没有返回-1。
这道题的要求就是对于ArrayList的一系列操作。代码如下:
public class ArrayListManager {public static ArrayList<Integer> create(int n) { // Write your code here ArrayList<Integer> list = new ArrayList<Integer>(); for(int i = 0;i < n;i++){ list.add(i); } return list;}public static ArrayList<Integer> clone(ArrayList<Integer> list) { // Write your code here ArrayList<Integer> list2 = new ArrayList<Integer>(); for(Integer a : list){ list2.add(a); } return list2; }public static int get(ArrayList<Integer> list, int k) { // Write your code here return list.get(k);}public static void set(ArrayList<Integer> list, int k, int val) { // write your code here list.set(k, val);}public static void remove(ArrayList<Integer> list, int k) { // write tour code here list.remove(k);}public static int indexOf(ArrayList<Integer> list, int val) { // Write your code here if (list == null) return -1; return list.indexOf(val);}}
第三题:Getter与Setter
实现一个School的类,包含下面的这些属性和方法:
一个string类型的私有成员name.
一个setter方法setName,包含一个参数name.
一个getter方法getName,返回该对象的name。
样例
School school = new School();
school.setName(“MIT”);
school.getName(); // 需要返回 “MIT” 作为结果.
这道题是java封装特性的体现。即不能让外部可以直接修改某个类的成员变量的值,而是提供接口让外部操作。通俗的例子就比如说是手机,我们能操作的就是外部的几个按键。此题代码如下:
public class School {private String name;public void setName(String name){ this.name = name;}public String getName(){ return name;}}
第四题: 大小写转换 II
将一个字符串中的小写字母转换为大写字母。忽略其他不是字母的字符。
样例
给出 “abc”, 返回 “ABC”.
给出 “aBc”, 返回 “ABC”.
给出 “abC12”, 返回 “ABC12”.
这道题要求我们将字符串中原来不是大写的字母变成大写字母,其他符号不做变换。那么就需要遍历字符串依次判断是否为小写字母,然后做相应操作。这里我使用了StringBuilder来接收传入的字符串。
public class Solution {public String lowercaseToUppercase2(String str) { // Write your code here StringBuilder sb = new StringBuilder(str); for (int index = 0; index < sb.length(); index++) { char c = sb.charAt(index); if (Character.isLowerCase(c)) { sb.setCharAt(index, Character.toUpperCase(c)); } } return sb.toString();}}
- LintCode String, Function & Class 第一部分
- LintCode Java Basic, Integer and Array 第一部分
- Function部分
- String Function
- String function
- string function
- lintcode:Scramble String
- lintcode: Interleaving String
- LintCode天梯(USGiants)-String
- Interleaving String--lintcode
- LintCode Split String
- 第一部分
- String Class
- String Class
- class string
- Class function callback
- friend class & function
- first-class function
- pdfbox开发pdf指南
- Leetcode 507 Perfect Number
- MXNET笔记(三)Data Iterator
- 《Java源码分析》:WeakHashMap
- 多图片上传,不上传后台,直接回显
- LintCode String, Function & Class 第一部分
- bzoj3527: [Zjoi2014]力
- Leetcode 633 Sum of Square Numbers
- 2D赛车
- jsp中$、EL表达式不起作用的问题
- 2017 ACM/ICPC Asia Regional Shenyang Online【solved:7 / 12】
- Leetcode 645 Set Mismatch
- vitamio诡异bug?
- 编译GPU版本Matconvnet