题目:http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11313 湖师大的比赛,见我的另一篇水题题解,这里要说的是我YY出来的C题,无重复元素序列的最长公共子序列. 用常规的做法会超时,于是我YY出来一个方法,记录第一组各个数字的位置,读取第二组,把第一组出现的相同数字的位置放入序列,没出现就不放...然后就转成LIS题目了... 具体用例子来说明下,比如两个序列 3 2 1 5 4 2 1 5 4 3 很明显,LCS…
剑指 Offer 38. 字符串的排列 Offer_38 题目描述 解题思路 可以使用递归实现全排列,每次都确定一个数的位置,当所有位置的数都确定后即表示一个排列. 但是考虑到本题需要排除重复的排列,所以可以递归时判断同一个字符是否出现在某个位置多次,如果出现多次则跳过. java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/5 22:45 */ import java.util.Linked…
Given a collection of distinct integers, return all possible permutations. Input: [1,2,3] Output: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 题意: 打印全排列 Solution1: Backtracking 形式化的表示递归过程:permutations(nums[0...n-1]) = {取出一个数字} + permutati…
给定一组数(未排序), 求它们的所有组合可能. 如给定{1 2 3}, 返回: [ [] [1] [2] [3] [1 2] [1 3] [2 3] [1 2 3] ] 算法思路: 对数组排序, 从小到大; 令 i = 0, 对已有组合v从后往前进行如下操作 v的最后1个组合内加入第i个元素; 将新组合加入到v中 算法的理解可以通过一个例子来看: 给定S = {1 2 3}, v = [[]] i = 0, j = 1, v = [[] [1]] // back().push_back(S[0]…
import java.util.ArrayList;import java.util.HashSet;import java.util.Iterator; public class Hashset { public static void main(String[] args){ ArrayList list = new ArrayList(); list.add("1"); list.add("2"); list.add("2"); @Sup…
Go实现: 1 package main 2 3 import ( 4 "fmt" 5 "sort" 6 ) 7 8 func main() { 9 var a = []int{1, 6, 45, 2, 9, 15, 7} 10 var b = []int{2, 80, 9, 67, 52, 15, 100, 99} 11 c := sumArr(a, b) 12 fmt.Println("合并后的数组为") 13 fmt.Println(c)…
有一类面试题,既可以考察工程师算法.也可以兼顾实践应用.甚至创新思维,这些题目便是好的题目,有区分度表现为可以有一般解,也可以有最优解.最近就发现了一个这样的好题目,拿出来晒一晒. 1 题目 原文: There is an array of 10000000 different int numbers. Find out its largest 100 elements. The implementation should be optimized for executing speed. 翻译…
最近在学习java,但是对于数据操作那部分还是不熟悉 因此决定找几个简单的算法写,用php和java分别实现 1.合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 java /** * Definition for singly-linked list. * public class ListNode {…
1. python 内置函数 set(可迭代对象) 返回无重复元素的集合.如在分类中,classification为类别数组 set(classification)为类别数 2.numpy np.unique(可迭代对象),返回有序的无重复元素的ndarray >>>print(np.unique(np.array([2,0,1,1,0,2]))) [0 1 2] >>>print(np.unique([1,2,2,4])) [1 2 4] 2019-04-10…
Medium! 题目描述: 给定一个字符串,找出不含有重复字符的 最长子串 的长度. 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3. 给定 "bbbbb" ,最长的子串就是 "b" ,长度是1. 给定 "pwwkew" ,最长子串是 "wke" ,长度是3.请注意答案必须是一个子串,"pwke" 是 子序列 而不是子串…