五莲县城乡建设局网站首页,用别人公司名字做网站违法么,电子商务网站系统的开发设计,小程序公众号两数之和 最简单的思维方式肯定是去凑两个数#xff0c;两个数的和是目标值就ok。这里两遍for循环解决。 两数相加 敲了一晚上哈哈#xff0c;结果超过int范围捏#xff0c;难受捏。 public class Test2 {public static void main(String[] args) {
// ListNode l1 … 两数之和 最简单的思维方式肯定是去凑两个数两个数的和是目标值就ok。这里两遍for循环解决。 两数相加 敲了一晚上哈哈结果超过int范围捏难受捏。 public class Test2 {public static void main(String[] args) {
// ListNode l1 new ListNode(2);
// l1.next new ListNode(4);
// l1.next.next new ListNode(3);
//
// ListNode l2 new ListNode(5);
// l2.next new ListNode(6);
// l2.next.next new ListNode(4);ListNode l1 new ListNode(5);ListNode l2 new ListNode(5);ListNode listNode new Test2().addTwoNumbers(l1, l2);System.out.println(l listNode.val);System.out.println(l listNode.next.val);
// System.out.println(l listNode.next.next.val);// for (int i 0; ; i) {
// ListNode l listNode.next;
// if (l.next ! null) {
// System.out.println(l l.val);
// }else return;
// }}public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
// Map map new HashMap();
// map.put(l1,l1.vall1.next.vall1.next.next.val)int num1 l1.val;System.out.println(num1 num1);int num2 l2.val;ListNode l l1.next;ListNode ll l2.next;for (int i 1; ; i) {if ( l ! null l.next ! null ){num1 l.val*Math.pow(10,i);l l.next;} else{if ( l ! null ){num1 l.val*Math.pow(10,i);}System.out.println(num1 num1);for (int j 1; ; j) {if (ll ! null ll.next ! null){num2 ll.val*Math.pow(10,j);ll ll.next;}else{if (ll ! null ){num2 ll.val*Math.pow(10,j);}System.out.println(num2 num2);int temp num1 num2;System.out.println(temp temp);int digit;int place 1; //位数ListNode lll new ListNode();int count 0;while (temp ! 0) {temp temp / 10;count;}temp num1 num2;if (temp 0)count1;ListNode listNode new ListNode();MapString, ListNode map null;for (int i1 0; i1 count; i1) {digit temp % 10;temp temp / 10;System.out.println(Digit at place place is: digit);
// lll.val digit;
// lll lll.next;if (i1 0){lll.val digit;if (count!1){lll.next listNode;}}else if (i1 1){map new HashMap();map.put(listNodei1,new ListNode());listNode.val digit;if (count2)return lll;listNode.next map.get(listNodei1);System.out.println(map.get(\listNode111\i1).val map.get(listNodei1).val);} else{map.get(listNode(i1-1)).val digit;if (i1count-1)return lll;map.put(listNodei1,new ListNode());map.get(listNode(i1-1)).next map.get(listNodei1);System.out.println(map.get(\listNode222\i1).val map.get(listNodei1).val);}place * 10;}return lll;}}}}}}//两数求和
class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) { this.val val; }ListNode(int val, ListNode next) { this.val val; this.next next;}
} 冒泡排序 有这样一个数组[ 6,1,2,4,6,2 ] 冒泡排序是将相邻两个元素比大小转换位置最终实现从小到大或者从大到小排序的过程。 首先关注第一个元素6 6和1比转换位置 6和2比转换位置 6和4比转换位置 6和6比不动。 6和2比转换位置 再然后第二个元素到最后一个元素。这样每一个元素都找到他们对应的位置。
public static void sort1(int[] data){for (int i 0; i data.length; i) {for (int j 0; j data.length - i - 1; j) {if (data[j] data[j 1]){int k data[j];data[j] data[j 1];data[j 1] k;}}}} 快速排序
排序——快速排序Quick sort-CSDN博客 快速排序底层是递归的思想。 有这样一个数组[ 6,1,2,4,6,2 ] 快速排序是有左右两个数组的下标指针一个基准数。
一开始 左指针指向最左边 右指针指向最右边 基准数默认初始值为 最左边 左指针负责挑出大于基准值的右指针负责挑出小于基准值的。当左右指针相遇时将数组分为左右两个以基准值为界限的小数组和大数组。 然后左右两个数组递归。 从右指针开始比2比基准数6小就和左指针交换位置同时左指针的值6赋给基准值6. 这时左指针位置下移到1 再从左指针开始比1比基准值6小2比基准值6小4比基准值6小6比基准值6不大 左右指针相遇时 将基准值6赋给右【21246 6】 这个时候的小数组是【21246】 大数组【6】再重新进行快速排序。