1 两数之和
package org.study.Hot100
import java.util.HashMap
import java.util.Map
public class T1 {
public static int[] twoSum(int[] nums, int target) {
int [] res=new int[2]
Map<Integer,Integer> map=new HashMap<>()
for(int i=0
if(map.containsKey(target-nums[i])){
res[0]=i
res[1]=map.get(target-nums[i])
return res
}
map.put(nums[i],i)
}
return null
}
public static void main(String[] args) {
int[] nums={3,3}
int target=6
System.out.println(twoSum(nums,target)[0])
System.out.println(twoSum(nums,target)[1])
}
}
package org.study.Hot100
public class T21 {
public static ListNode mergeTwoLists(ListNode list1, ListNode list2) {
if(list1==null) return list2
if(list2==null) return list1
ListNode head = new ListNode()
ListNode tail = new ListNode()
head.next=tail
tail.val= list1.val<list2.val?list1.val:list2.val
while (list1!=null && list2!=null){
if(list1.val<list2.val){
tail.next=new ListNode(list1.val)
tail=tail.next
list1=list1.next
}else{
tail.next=new ListNode(list2.val)
tail=tail.next
list2=list2.next
}
}
while (list1!=null){
tail.next=new ListNode(list1.val)
tail=tail.next
list1=list1.next
}
while (list2!=null){
tail.next=new ListNode(list2.val)
tail=tail.next
list2=list2.next
}
return head.next.next
}
public static void main(String[] args) {
ListNode l1 = new ListNode(1)
ListNode l2 = new ListNode(2)
ListNode l3 = new ListNode(4)
l1.next=l2
l2.next=l3
l3.next=null
ListNode l4 = new ListNode(1)
ListNode l5 = new ListNode(3)
ListNode l6 = new ListNode(4)
l4.next=l5
l5.next=l6
l6.next=null
ListNode a= mergeTwoLists(l1,l4)
while (a!=null){
System.out.println(a.val)
a=a.next
}
}
}
package org.study.Hot100
public class T136 {
public static int singleNumber(int[] nums) {
// List<Integer> list=new ArrayList<>()
// for(int i=0
// if(!list.contains(nums[i])){
// list.add(nums[i])
// }
// else{
// list.remove((Integer)nums[i])
// }
// }
// return list.get(0)
int ans=nums[0]
for(int i=1
ans^=nums[i]
}
return ans
}
public static void main(String[] args) {
int[] nums={4,1,2,1,2}
System.out.println(singleNumber(nums))
}
}
package org.study.Hot100
import java.util.HashMap
import java.util.Map
public class T169{
public static int majorityElement(int[] nums) {
int len=nums.length/2
Map<Integer,Integer> map=new HashMap<>()
for (int i = 0
if (map.containsKey(nums[i])){
map.put(nums[i],map.get(nums[i])+1)
if(map.get(nums[i])>len){
return nums[i]
}
}else{
map.put(nums[i],1)
}
}
if(map.size()==1){
return nums[0]
}
return len
}
public static void main(String[] args) {
int[] nums={3}
System.out.println(majorityElement(nums))
}
}
package org.study.Hot100
public class T206{
public static ListNode reverseList(ListNode head) {
if (head==null) return null
ListNode newhead=new ListNode()
newhead.next=null
while (head!=null){
ListNode temp=new ListNode(head.val)
temp.next=newhead.next
newhead.next=temp
head=head.next
}
return newhead.next
}
public static void main(String[] args) {
ListNode l1 = new ListNode(1)
ListNode l2 = new ListNode(2)
ListNode l3 = new ListNode(3)
ListNode l4 = new ListNode(4)
ListNode l5 = new ListNode(5)
l1.next=l2
l2.next=l3
l3.next=l4
l4.next=l5
l5.next=null
ListNode a= reverseList(l1)
while (a!=null){
System.out.println(a.val)
a=a.next
}
}
}
package org.study.Hot100
import java.util.ArrayList
import java.util.List
public class T448 {
public static List<Integer> findDisappearedNumbers(int[] nums) {
int n=nums.length
int[] a=new int[n]
List<Integer> res = new ArrayList<Integer>()
for(int i=0
{
a[nums[i]-1]+=1
}
for (int i = 0
if(a[i]==0){
res.add(i+1)
}
}
return res
}
public static void main(String[] args) {
int[] nums={4,3,2,7,8,2,3,1}
System.out.println(findDisappearedNumbers(nums))
}
}