Day1備戰(zhàn)可信考試
主要是熟悉java編程為主,之前刷題用的Python,感覺用java自己像個(gè)nt一樣,一道題以前3分鐘寫完,現(xiàn)在要10分鐘。盡量采取之前用的最優(yōu)解法。
兩數(shù)之和
public static int[] twoSum(int[] nums, int target) {
? ?HashMap<Integer, Integer> tempMap=new HashMap<Integer, Integer>();
? ?int[] resArray=new int[2];
? ?for(int i=0;i<nums.length;i++){
? ? ? ?int tmpNum=nums[i];
? ? ? ?if(tempMap.containsKey(tmpNum)==false){
? ? ? ? ? ?tempMap.put(target-tmpNum,i);
? ? ? ?}else{
? ? ? ? ? ?resArray[0]= (int) tempMap.get(tmpNum);
? ? ? ? ? ?resArray[1]=i;
? ? ? ? ? ?return resArray;
? ? ? ?}
? ?}
? ?return null;
}兩數(shù)相加
/**
?* Definition for singly-linked list.
?* public class ListNode {
?* ? ? int val;
?* ? ? ListNode next;
?* ? ? ListNode() {}
?* ? ? ListNode(int val) { this.val = val; }
?* ? ? ListNode(int val, ListNode next) { this.val = val; this.next = next; }
?* }
?*/
class Solution {
? ? public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
? ? ? ? if(l1==null){
? ? ? ? ? ? return l2;
? ? ? ? }
? ? ? ? if(l2==null){
? ? ? ? ? ? return l1;
? ? ? ? }
? ? ? ? ListNode head=null;
? ? ? ? ListNode tail=null;
? ? ? ? int ifPlus=0;
? ? ? ? while(l1!=null ||l2!=null){
? ? ? ? ? ? int n1= l1!=null?l1.val:0;
? ? ? ? ? ? int n2=l2!=null?l2.val:0;
? ? ? ? ? ? int sum=n1+n2+ifPlus;
? ? ? ? ? ? if(head==null){
? ? ? ? ? ? ? ? head=tail=new ListNode(sum%10);
? ? ? ? ? ? }
? ? ? ? ? ? else{
? ? ? ? ? ? ? ? tail.next=new ListNode(sum%10);
? ? ? ? ? ? ? ? tail=tail.next;
? ? ? ? ? ? }
? ? ? ? ? ? ifPlus=sum/10;
? ? ? ? ? ? if(l1!=null){
? ? ? ? ? ? ? ? l1=l1.next;
? ? ? ? ? ? }
? ? ? ? ? ? if(l2!=null){
? ? ? ? ? ? ? ? l2=l2.next;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? if (ifPlus>0){
? ? ? ? ? ? tail.next=new ListNode(ifPlus);
? ? ? ? }
? ? ? ? return head;
? ? }
}
java的bug真的太多了我去學(xué)習(xí)一下怎么用hashmap(為什么世界上的數(shù)據(jù)結(jié)構(gòu)不能和dict一樣聰明),所以今天就到這里吧【