我是靠谱客的博主 要减肥巨人,最近开发中收集的这篇文章主要介绍LeetCode-Algorithms-[Easy]1065. 字符串的索引对[双百解法],觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1065. 字符串的索引对

我的LeetCode题解

1.因为不知道返回的int[] 到底要多大,所以需要一个容器先存储临时的结果
2.遍历计算,使用indexof函数
3.装入结果数组res
4.对res进行排序

 

目前是个Java的双百解法

	public int[][] indexPairs(String text, String[] words) {
		Stack<int[]> stack = new Stack<int[]>();
		MyCmp cmp = new MyCmp();
		int n = text.length();
		int i = 0;
		for (String s : words) {
			while (i >= 0 && i < n) {
				i = text.indexOf(s, i);
				if (i >= 0) {
					int[] temp = new int[2];
					temp[0] = i;
					int sLength = s.length();
					int end = i + sLength - 1;
					temp[1] = end;
					stack.add(temp);
					++i;
				}
			}
			i = 0;
		}
		int size = stack.size();
		int[][] res = new int[size][2];
		for (int j = size - 1; j >= 0; --j) {
			int[] temp = stack.pop();
			res[j][0] = temp[0];
			res[j][1] = temp[1];
		}
		Arrays.sort(res, cmp);
		return res;
	}

	private class MyCmp implements Comparator<int[]> {
		@Override
		public int compare(int[] o1, int[] o2) {
			// TODO Auto-generated method stub
			int diff = o1[0] - o2[0];
			if (diff == 0) {
				return o1[1] - o2[1];
			}
			return diff;
		}
	}

相关知识点

Java中Array.sort()的几种用法 - 创造价值的IT人

Java Arrays.sort方法重写及二维数组排序

最后

以上就是要减肥巨人为你收集整理的LeetCode-Algorithms-[Easy]1065. 字符串的索引对[双百解法]的全部内容,希望文章能够帮你解决LeetCode-Algorithms-[Easy]1065. 字符串的索引对[双百解法]所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部