华为机试20141103
来源:互联网 发布:淘宝开店名字 编辑:程序博客网 时间:2024/05/18 00:43
1.给定一个字符串,按照字符与‘U’的差的绝对值大小升序排列
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner input = new Scanner(System.in); String inputString = input.nextLine(); System.out.println(sort(inputString)); } public static String sort(String str){ char[] ch = str.toCharArray(); boolean flag = true; for(int i = 0; i < ch.length-1; i++){ for(int j = 0; j < ch.length-1-i; j++){ int m = ch[j] - 'U'; if(m < 0) m = -m; int n = ch[j+1] - 'U'; if(n < 0) n = -n; if(m > n){ char temp = ch[j]; ch[j] = ch[j+1]; ch[j+1] = temp; flag = false; } } if(flag) break; } return new String(ch); } }
2.删除字符串中重复次数最少的字符,如abb-->bb aabb-->空串
import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Set;import java.util.List;import java.util.ArrayList;public class RemoveDuplicateLeastChar{public static void main(String[] args) {Scanner input = new Scanner(System.in);String inputString = input.nextLine();System.out.println(remove(inputString));}public static String remove(String str){Map<Character, Integer> map = new HashMap<Character, Integer>();char [] ch = str.toCharArray();for(char c : ch){if(map.containsKey(c))map.put(c, map.get(c) + 1);elsemap.put(c, 1);}int least = 128;Set<Character> set = map.keySet();for(Character cha : set) {if(map.get(cha) < least)least = map.get(cha);}List<Character> list = new ArrayList<Character> ();for(Character cha : set) {if(map.get(cha) == least){for(int j = 0; j< ch.length; j++){if(ch[j] == cha)list.add(ch[j]);}}}StringBuffer sb = new StringBuffer();for(char c : ch){if(!list.contains(c))sb.append(c);}return sb.toString();}}
3.给出二叉树中和为某一值的所有路径
import java.util.Scanner;import java.util.ArrayList;/*binarytree: 10 5 12 4 7 */class Node{int data; Node left; Node right;}public class AllSumTreePath{private Node root;public void insert(int key){Node node = new Node();node.data = key;if(root == null)root = node;else{Node current = root;Node parent = null;while(true){parent = current;if(key <= current.data){current = current.left;if(current == null){parent.left = node;return;}}else{current = current.right;if(current == null){parent.right = node;return;}}}}}public static void main(String[] args) {AllSumTreePath tree = new AllSumTreePath();Scanner input = new Scanner(System.in);int sum = input.nextInt();Scanner input1 = new Scanner(System.in);String inputString = input1.nextLine();String [] strarray = inputString.split(",");for(String val : strarray){int data = Integer.parseInt(val);tree.insert(data);}// tree.insert(10);// tree.insert(5);// tree.insert(12);// tree.insert(4);// tree.insert(7);// int sum = 22;solution(tree.root, sum, new ArrayList<Integer>());}public static void solution(Node node, int sum, ArrayList<Integer> path){if (node == null) return; path.add(node.data);if(node.left == null && node.right == null) { int pathNum = 0;for(int value : path){pathNum = pathNum + value;}if(pathNum == sum){boolean isFirst = true;for(int value : path){if(isFirst){System.out.print(value);isFirst = false;}elseSystem.out.print("," + value);}System.out.println();}}solution(node.left, sum, path); solution(node.right, sum, path);path.remove(path.size() - 1);}}
0 0
- 华为机试20141103
- 华为机试
- 华为机试
- 华为机试
- 华为机试
- 华为机试4
- 华为机试
- 华为机试
- 华为机试-2014
- 华为机试
- 华为机试2014
- 华为机试
- 华为机试
- 华为机试整理
- 2014华为机试
- 历年华为机试
- 华为机试---最小公倍数
- 华为机试---打渔晒网
- 营销在移动客户端
- Objective-C 基础
- ubuntu mysql远程连接问题解决方法
- 第十周 项目二--M$pszi$y是嘛意思---不知加密数字,列出所有可能
- 盒子游戏
- 华为机试20141103
- 系统安全原则:最小特权
- python元类分析
- 《unix高级环境编程》文件和目录——文件时间
- 通过wifi向服务器端发送数据
- python函数传递list,tuple和dict时的复制关系
- C#中抽象类和接口的区别
- ;将每个单词的首字母改为大写
- 配置eclipse CDT 开发 android JNI