Java刷题常见问题(Array篇)
来源:互联网 发布:在淘宝网上开店要钱吗 编辑:程序博客网 时间:2024/06/14 23:46
1、如何将一个整数数组排序?
int[] nums; // 已知的一个整数数组Arrays.sort(nums); // 排序
2、什么时候用length,什么时候用length(),什么时候用size()?
对于数组,length是数组的一个属性,用nums.length;对于字符串,用length()方法查看字符串的长度对于泛型集合,用size()方法查看这个泛型集合有多少个元素
例子:
public static void main(String[] args) {String[] list={"ma","cao","yuan"}; // 数组String a="macaoyuan"; // 字符串System.out.println(list.length);System.out.println(a.length());List<Object> array=new ArrayList(); // 泛型集合array.add(a);System.out.println(array.size());}
输出的值为:391
3、如何得到一个已知矩阵(二维数组)的行数和列数?
int[][] nums; // 已知矩阵int n = nums.length, m = nums[0].length; // 得到行数和列数
4、相同元素矩阵如何从m*n矩阵重构为r*c矩阵?
// 遍历处理第i+1个元素for (int i = 0; i < r * c; i ++) res[i / c][i % c] = nums[i / n][i % n];
5、如何定义一个不定长整型数组?
List<Integer> list = new ArrayList<>();
6、ArrayList 中的 set(index, object) 和 add(index, object) 的区别
set:将原来index位置上的object的替换掉add:将原来index位置上的object向后移动
7、(1)如何将整数2473变成字符串”2473”
(2)如何将整数2473变成数组[‘2’, ‘4’, ‘7’, ‘3’]
(3)如何将数组[‘2’, ‘4’, ‘7’, ‘3’]还原为数字2473
char[] digits = Integer.toString(num);char[] digits = Integer.toString(num).toCharArray();Integer.valueOf(new String(digits));
「算法思路篇」
1、一个长度为n的整型数组int[] nums,nums[i] 属于[1,n],有些数出现一次,有些数出现两次,要找出出现两次的数,时间复杂度O(n),不使用额外空间?(leetcode 442题)
思路:引入索引index与nums[i]的映射函数,当第一次遇见index位置的nums[index],将nums[index]反转置为负数,当出现与前面出现过的nums[i]值相同的nums[i],则由映射函数算出相同的index,对应到相同的nums[index],若此时nums[index]为一个负数,则nums[i]曾经出现过,将nums[i]加入到res数组中。
class Solution { public List<Integer> findDuplicates(int[] nums) { List<Integer> res = new ArrayList<>(); for (int i = 0; i < nums.length; i ++) { int index = Math.abs(nums[i]) - 1; // nums[i]的取值范围为1到n, nums[i] - 1的取值范围为0到n-1,可作为下标索引 if (nums[index] > 0) { nums[index] = - nums[index]; } else res.add(index + 1); } return res; }}
阅读全文
0 0
- Java刷题常见问题(Array篇)
- java常见问题
- JAVA 常见问题
- Java常见问题
- java常见问题
- Java常见问题
- Java常见问题
- java 常见问题
- Java常见问题
- Java常见问题
- java常见问题
- java常见问题
- JAVA常见问题
- java 常见问题
- java 常见问题
- JAVA常见问题
- Java常见问题
- java常见问题
- vue非父子组件通信 (两个不同的组件通信)
- 常用 Java 静态代码分析工具的分析与比较
- psHCM项目 AE技术
- 微信小程序下拉菜单实例
- IntelliJ IDEA项目热部署
- Java刷题常见问题(Array篇)
- Android消息传递之Handler消息机制
- Sqlserver "with execute clause" 的研究
- bzoj2006: [NOI2010]超级钢琴
- protobuf入门教程(二):消息类型
- 论比特币发展史-一个比萨价值过亿!
- Swift 中的函数
- 深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例
- react-native踩过的坑