Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. class Solution {
  2. Stack<Integer> stack = new Stack<>();
  3. public String largestNumber(int[] nums) {
  4. for(int i = 0; i < nums.length;i++){
  5. int smallest = i;
  6. for(int j = i+1; j < nums.length; j++){
  7. if(compare(nums[j], nums[smallest])){
  8. smallest = j;
  9. }
  10. }
  11. int temp = nums[i];
  12. nums[i] = nums[smallest];
  13. nums[smallest] = temp;
  14. }
  15.  
  16. List<Integer> list = new ArrayList<>();
  17. for(int i = 0; i < nums.length;i++){
  18. while (nums[i]>10){
  19. int temp = 0;
  20. temp = nums[i] % 10;
  21. nums[i] = nums[i]/10;
  22. stack.push(temp);
  23. }
  24. stack.push(nums[i]);
  25. while(!stack.isEmpty()){
  26. list.add(stack.pop());
  27. }
  28. }
  29.  
  30. int result = 0;
  31. for(int i= 0 ; i< list.size();i++){
  32. result += list.get(i)*(10^(list.size()-1-i));
  33. }
  34. String strI = Integer.toString(result);
  35. return strI;
  36. }
  37.  
  38. public boolean compare(int a,int b){
  39. while(a>=10){
  40. a= a / 10;
  41. }
  42. while (b>=10){
  43. b = b/10;
  44. }
  45. if(a<b) return true;
  46. else return false;
  47. }
  48.  
  49.  
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement