谷歌笔试题——排序,只允许0和其他元素交换
2.2 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的swap,请设计并实现排序。
这题有一个隐含条件:即数组元素是连续的,即0——n-1,当你排好序后,你会发现数组元素和该元素的下标是相等的。
以数组2 0 3 1为例
交换swap(nums[i],nums[nums[i]]) 拆分为
swap(nums[i], nums[0]) 以及swap(nums[nums[i]], nums[0]) 两个操作。
这题比较偏
给定一个字符串str,再给定str的最长回文子序列字符串strlps, 请返回在添加字符最少的情况下,让str整体都是回文字符串的一种结果。进阶问题比原问题多了一个参数,请做到时间复杂度比原问题的实现低。
参考程序员笔试面试指南,是一道比较难的动态规划题目。