Love丶FFC's Blog
给定一个旋转排序数组,在原地恢复其排序。
什么是旋转数组?
比如,原始数组为[1,2,3,4], 则其旋转数组可以是[1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3]
Example1:
[4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5]
Example2:
[6,8,9,1,2] -> [1,2,6,8,9]
使用O(1)的额外空间和O(n)时间复杂度
1.因为数组从某个节点分开,左右两边都是有序的,所以首先使用比较大小的方法找到该节点的索引。
2.创建另外一个数组或泛型,承载右边的元素集合。
3.将左边的元素集合紧随其后进行覆盖。
package LintCode_Easy; import java.util.ArrayList; import java.util.List; public class _39 { public static void main(String[] args) { /* 数组解法 */ int[] nums = new int[] {6,8,9,1,2}; //初始化 int[] changenums = new int[nums.length]; int minnum=nums[0]; int minnumindex=0; for(int i=0;i<nums.length;i++) //找到最小元素的索引 { if(nums[i]<minnum) { minnum=nums[i]; minnumindex=i; } } for(int i=minnumindex,j=0;i<nums.length;i++,j++) //(索引-长度)的覆盖 { changenums[j]=nums[i]; } for(int i=0,j=nums.length-minnumindex;i<minnumindex;i++,j++) //(0-索引)的覆盖 { changenums[j]=nums[i]; } nums=changenums; //覆盖 System.out.println(Arrays.toString(nums)); /*泛型解法*/ //泛型中的get方法用于其中指定位置的值,set方法用于赋给指定位置值 List<Integer> nums = new ArrayList<Integer>(); nums.add(5); nums.add(6); nums.add(1); nums.add(2); nums.add(3); nums.add(4); int minnum = nums.get(0); int minnumindex = 0; for(int i=0;i<nums.size();i++) { if(nums.get(i)<minnum) { minnum=nums.get(i); minnumindex=i; } } List<Integer> savenums = new ArrayList<Integer>(); for(int i=0;i<minnumindex;i++) { savenums.add(nums.get(i)); } for(int i=0,j=minnumindex;j<nums.size();i++,j++) { nums.set(i, nums.get(j)); } for(int i=0,j=nums.size()-minnumindex;j<nums.size();i++,j++) { nums.set(j, savenums.get(i)); } System.out.println(nums); } }
public class Solution { public void recoverRotatedSortedArray(List<Integer> nums) { int minnum = nums.get(0); int minnumindex = 0; for(int i=0;i<nums.size();i++) { if(nums.get(i)<minnum) { minnum=nums.get(i); minnumindex=i; } } List<Integer> savenums = new ArrayList<Integer>(); for(int i=0;i<minnumindex;i++) { savenums.add(nums.get(i)); } for(int i=0,j=minnumindex;j<nums.size();i++,j++) { nums.set(i, nums.get(j)); } for(int i=0,j=nums.size()-minnumindex;j<nums.size();i++,j++) { nums.set(j, savenums.get(i)); } } }
Gealpaste
cheapest cialis generic online This systematic review aims to address these questions by examining the role of bacteria in low back pain and the relationship between bacteria and Modic change
intuido
At this early point after induction, clusters of rGFP Cre NSCs were also located next to the rGFP Dcx neuroblasts Fig cheap levitra
JoeLit
can you buy azithromycin over the counter in canada
CurtisHed
voltaren gel discount
AshLit
zoloft 50mg coupon
JoeLit
lyrica 175 mg
DarrylBox
tadalafil 20mg in india
JoeLit
025 tretinoin
SueLit
medicine prazosin 1 mg capsule
ZakLit
best price cialis 20mg
DavisIgnip
lipitor canada price
IvyLit
express scripts com pharmacies
IvyLit
atarax 25 mg over the counter
SamuelEcors
legitimate canadian pharmacies
IvyLit
canadian pharmacy no rx needed
Richardatone
where to buy nolvadex 2018 uk
MaryLit
phenergan over the counter usa
IvyLit
online pharmacy no prescription
Michaelsmopy
no script pharmacy
AshLit
cost of brand name cymbalta
JoeLit
nolvadex india
Richardatone
baclofen 10 mg price
JackLit
web pharmacy
Elwoodexcix
triamterene 37.5
AlanLit
prazosin 5 mg capsules
IvyLit
cheapest pharmacy to fill prescriptions without insurance
JosephKip
medicine prazosin tablets
JosephKip
cost of cymbalta 30 mg
DarrylBox
buy generic cialis with paypal
JackLit
triamterene weight loss
EyeLit
baclofen purchase
ZakLit
drug levaquin
SamuelEcors
real cialis online
Davidevelf
best no prescription pharmacy
SamuelEcors
order levaquin online
SueLit
antibiotic levaquin
JosephKip
metformin sr
Williamjotly
tamoxifen arimidex
IvyLit
tretinoin 0.1 gel coupon
SamuelEcors
metformin buy online usa
Davidevelf
robaxin 750 mg
Williamjotly
atenolol for sale
AshLit
endep 25 mg medication
ZakLit
metformin 500 mg cost
IvyLit
buying retin a online uk
Elwoodexcix
how much is dexamethasone
Davidevelf
atenolol 50 mg online
DavisIgnip
prednisolone 5mg coupon
MaryLit
where can i buy atarax in uk
DarrylBox
phenergan vc
IvyLit
cheap zithromax online
JosephKip
pharmacy no prescription required
IvyLit
buy nolvadex online india
DarrylBox
cost of 30 baclofen
Elwoodexcix
where can i buy retin a without prescription
Michaelsmopy
synthroid 25 mcg cost
ZakLit
retino 0.05 gel
JackLit
can you buy phenergan over the counter
Michaelsmopy
over the counter prednisone canada
ZakLit
azithromycin tablets australia
Richardatone
prednisone cost 10mg
CurtisHed
generic lyrica cost
ZakLit
finasteride online
SamLit
prednisone prescription cost
EyeLit
cortisol prednisone
SamuelEcors
lisinopril 3.125
SamuelEcors
cost of doxycycline in canada
Richardatone
synthroid 200 mcg price
DavisIgnip
quineprox 90 mg
Elwoodexcix
doxycycline without rx
IvyLit
retino 0.025 cream
IvyLit
can i buy diflucan online
DarrylBox
retino 0.025 gel
DarrylBox
lyrica for sale
EyeLit
plaquenil hives
SueLit
doxycycline 20 mg capsules
EyeLit
propecia for sale canada
AlanLit
zestril over the counter
Davidevelf
buy suhagra online usa
SamuelEcors
canada drugstore pharmacy rx
IvyLit
where can i buy prednisone
SamuelEcors
strattera 60 mg
MaryLit
suhagra tablet price india
Richardatone
cheap zanaflex online
Elwoodexcix
phenergan uk price
Elwoodexcix
strattera 18 mg capsule
AshLit
prednisone 15 mg daily
Elwoodexcix
prinivil
SamLit
diflucan 150 tablet
DarrylBox
keflex cephalexin
IvyLit
bactrim 800 160 mg
MaryLit
celebrex 200mg for sale
SamuelEcors
diflucan 200 mg capsule
SamLit
bactrim cheap
ZakLit
plavix generic india
JackLit
amoxicillin where to get
JoeLit
suhagra online india
Davidevelf
synthroid 100 mcg
EyeLit
retino cream
DarrylBox
where to buy prednisone 5443 without prescription
SamLit
synthroid 88 mg
AlanLit
generic of augmentin