TypechoJoeTheme

Toasobi的博客

搜索到 28 篇与 的结果 ———
2023-03-02

基本运算器(中等)

基本运算器(中等)
基本解法,运用栈进行数据存储,设定先前符号为+,之后遍历s入栈操作<div> class Solution { public int calculate(String s) { Deque<Integer> stack = new ArrayDeque<Integer>(); char preSign = '+'; int num = 0; for(int i=0;i<s.length();i++){ if(Character.isDigit(s.charAt(i))){ num = num * 10 + s.charAt(i) - '0'; //是否是多位 } if(!Character.isDigit(s.charAt(i)) && s.charAt(i) != ' ' || i == s.length()-1){ ...
2023-03-02

剑指offer(第二版)

0 阅读
0 评论
2023年03月02日
0 阅读
0 评论
2023-03-02

二维数组中的查找(中等)

二维数组中的查找(中等)
因为上面说的是每一行非递减往右排序,我做这题的思路是先定位到给定数x所处的几行列,再两个for循环查找,我管它为优化后的暴力法。<div> class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { int row = matrix.length; if(row == 0) return false; int cow = matrix[0].length; if(cow == 0) return false; //一定要注意这里的二维数组判空,这里我编译失败了好几次 //这里不判空,提交[]或者[[]]会编译错误 int[] line = new int[matrix.length]; for (int i=0;i<matrix.length;i++){ ...
2023-03-02

剑指offer(第二版)

0 阅读
0 评论
2023年03月02日
0 阅读
0 评论
2023-03-02

找出数组重复的数字(简单)

找出数组重复的数字(简单)
自己写的是很简单的双层循环,这个在时间上复杂度太高,但是内存占用意外的小看看不同的题解:=======================- 方法一:遍历数组由于只需要找出数组中任意一个重复的数字,因此遍历数组,遇到重复的数字即返回。这个也是我一开始想到的,但是不知道用什么存储比较的数字,于是便使用了双层循环这里使用了不可重复的set集合(重复存储返回false)来存储,使用集合存储已经遇到的数字,如果遇到的一个数字已经在集合中,则当前的数字是重复数字。以空间换取时间<div> //哈希表实现 class Solution { public int findRepeatNumber(int[] nums) { Set<Integer> set = new HashSet<Integer>(); int repeat = -1; for (int num : nums) { if (!set.add(num)) { repeat = num...
2023-03-02

剑指offer(第二版)

0 阅读
0 评论
2023年03月02日
0 阅读
0 评论